-
양주 고읍동 영어 과외 방문 선생님께 배우는 일대일 수업카테고리 없음 2023. 11. 20. 17:01
드디어 C와 C++의 시대가 저무는 걸까. ‘보안’을 이유로 구글에서는 오랜 시간 프로그래밍 업계에 군림했던 이 두 언어를 러스트나 C#, 자바스크립트와 같은 신진 세력들로 교체하기 시작했다. 왜? 메모리 안전 문제 때문이다. 취약점을 유형별로 나눠 통째로 없애가겠다는 게 구글의 계획이다. 프트웨어 산업이 각종 취약점 공격에 대한 방어력을 강화하기 시작했다. 특히 ‘메모리 안전’ 문제와 관련이 있는 유형의 취약점들인 버퍼 오버플로우와 UaF 등에 대한 대처 방법이 하나 둘 늘어나고 있다고 한다. 가장 인기 높은 방법 중 하나는 메모리 안전 언어(memory-safe languages)인 자바, C#, 러스트(Rust) 등을 적극 활용하는 것이다. 언어만 살짝 바꿨을 뿐인데 메모리 안전 취약점들이 크게 감소했다고 한다. 지난 주 구글도 최근 들어 안드로이드 OS에 새로운 코드를 추가할 때 “대부분 메모리 안전 고읍동영어과외추천 언어로 작성된 코드를 활용했다”고 밝혔다. 그 결과 지난 3년 동안 메모리 안전 관련 취약점이 223개에서 85개로 줄었다고 한다. 구글의 소프트웨어 엔지니어인 제프리 반더 스토에프(Jeffrey Vander Stoep)는 “취약점을 유형별로 나누고, 고읍동내신영어과외 가장 위험한 유형부터 통째로 없애는 방안을 마련 중에 있다”고 설명한다. “프로그래밍 언어를 바꿈으로써 메모리 안전 고읍동영어과외추천 취약점들이 눈에 띄게 줄어들었고, 이제 다음 유형의 취약점들을 공략하게 될 것입니다.”
지난 수십 년 동안 C와 C++는 소프트웨어 개발에 있어 ‘디폴트 언어’나 다름이 없었다. 여러 가지 장점을 가지고 있었기 때문이다. 하지만 약점도 있었으니, 바로 C#, 고, 자바, 파이선, 루비, 러스트, 스위프트와 같은 현대 언어들에 비해 메모리 보호 기능이 부족하다는 것이었다. 그럼에도 C와 C++는 꾸준히 사용됐고 그 결과 애플리케이션의 59%에서 메모리 관련 취약점들이 발견됐다. 자바스크립트로 만들어진 애플리케이션에서 메모리 관련 취약점은 9%, 파이선에서는 10%만 나올 뿐이었다. 버퍼 오버플로우와 워머블 취약점
C와 C++를 사용하는 것만으로도 메모리 안전 문제가 내포된 애플리케이션이 높은 확률로 탄생한다는 것인데, 이처럼 오류와 취약점이 있는 소프트웨어를 만들어 출시하는 게 너무나 간단한 일이라는 것은 모든 소프트웨어 회사들의 골칫거리였다. MS와 같이 큰 회사의 경우도 2018년까지 70%의 확률로 메모리 안전 문제가 포함된 소프트웨어를 출시하곤 했었다. 소프트웨어 엔지니어 알렉스 게이노(Alex Gaynor)는 “2020년 기준 여러 생태계에 걸쳐 메모리 안전 취약점이 60~70%에 달했다”고 설명하기도 한다. 고읍동영어선생님 베라코드(Veracode)의 CTO인 크리스 와이소팔(Chris Wysopal)은 “메모리 안전 취약점은 익스플로잇도 쉬운 편”이라고 지적한다. “이 때문에 여러 중대한 사건의 뿌리에 이런 류의 고읍동고등학생영어과외 메모리 안전 취약점들이 존재하는 걸 자주 발견할 수 있습니다. 메모리 안전 오류는 최소 고위험군에 고읍동중학생영어과외 속하는 문제로, 공격자들이 임의의 코드를 실행함으로써 애플리케이션이나 장비를 완전히 장악하게 합니다. 심지어 워머블(자동 증식이 가능한 특성) 익스플로잇을 허용하기도 합니다.”
보다 안전한 언어로 갈아타기
이런 상황에서 덜 안전한 언어를 고집한다는 건 그냥 아집일 뿐이다. 구글이 고읍동영어과외 자사 개발자들에게 메모리 안전 언어로 전환하라고 촉구한 것은 너무나 당연한 일이다. 현재 구글에서 만들어지는 모든 새로운 코드 중 C와 C++로 만들어지는 건 반도 되지 않는다고 한다. 안드로이드 최신 버전인 13은 거의 대부분이 메모리 고읍동과외추천 안전 코드로 작성됐다. C와 C++가 있던 자리에 러스트가 들어섰다고 구글은 설명한다. 현재 미국의 NSA조차도 메모리 안전 프로그래밍 언어의 사용을 권하고 있다.
이처럼 메모리 안전 언어로의 이동이 가시적으로 눈에 띄고 있다는 건 취약점을 줄인다는 면에서는 좋은 소식이다. 하지만 메모리 안전 언어만으로 모든 문제가 해결되는 건 아니다. 왜냐하면 모든 프로그램들마다 약점이 있고, 고읍동과외선생님 메모리 보호 기능의 수준도 제각각이기 때문이다. 그래서 NSA는 다양한 애플리케이션 보안 도구들을 같이 활용해 가며 개발하라고 권하고 있기도 하다.
고읍동과외추천 “보안이 강화된 언어를 찾아 프로그래밍을 한다는 건 너무나 좋은 방향임이 확실합니다. 하지만 언어 자체가 소프트웨어 보안 도구는 아니지요. 우리는 보안을 위해 뭔가 변화를 꾀하고, 그 변화에 적잖은 노력이 들어갈 때 보안이 꽤나 튼튼해진다고 고읍동영어선생님 생각하려는 경향이 있습니다. 내가 힘들었으니 보안이 잘 되었겠지, 라고 여기는 겁니다. 사실 비논리적이죠. 내가 힘든 것과 보안이 튼튼한 건 아무런 상관이 없어요. 언어를 바꿔서 보안을 강화했다면, 그 다음의 절차를 밟아 여전히 빈 곳을 보충해야 합니다. 그래서 언어를 바꾼 데 이어 보안 도구들을 활용하라고 NSA가 권하는 것이죠.” 와이소팔의 설명이다