Skip to content

기글하드웨어기글하드웨어

인터넷 / 소프트웨어 : 윈도우즈, 리눅스, 기타 운영체제, 각종 어플리케이션, 프로그램, 소프트웨어, 인터넷, 인터넷 서비스에 대한 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

Extra Form
참고/링크 https://security.googleblog.com/2021/04/...tform.html

꽤 인상적인 블로그가 올라왔네요.

 

요약하자면 안드로이드의 C/C++ 메모리 보안 취약점은 고위험 취약점의 70%을 차지하고 인적, 경제적 비용이 많이 들고 있다고 설명했습니다. 그리고 AOSP는 이제 메모리 안전 언어로 코틀린/자바외에 Rust언어를 추가한다고 공지했네요.

 

이하 구글 번역(+수정)

 

- 시스템 프로그레밍

 

Java 및 Kotlin과 같은 관리 언어(역주: 자동 메모리 관리 언어)는 Android 앱 개발을위한 최상의 옵션입니다. 이러한 언어는 사용 용이성, 휴대 성 및 안전을 위해 설계되었습니다. Android 런타임 (ART)은 개발자를 대신하여 메모리를 관리합니다. Android OS는 Java를 광범위하게 사용하여 Android 플랫폼의 상당 부분을 메모리 버그로부터 효과적으로 보호합니다. 불행히도 OS의 하위 계층의 경우 Java 및 Kotlin은 옵션이 아닙니다. 

 

image.png

 

로우 레벨 OS에는 C, C ++ 및 Rust와 같은 시스템 프로그래밍 언어가 필요합니다. 이러한 언어는 제어 및 예측 가능성을 목표로 설계되었습니다. 저수준 시스템 리소스 및 하드웨어에 대한 액세스를 제공합니다. 리소스가 적고 예측 가능한 성능 특성이 있으며 C 및 C ++의 경우 개발자가 메모리 수명 관리를 담당합니다. 불행히도, 특히 복잡하고 다중 스레드 코드베이스에서이 작업을 수행 할 때 실수하기 쉽습니다. 

 

Rust는 메모리 액세스가 유효한지 확인하고 객체 수명 / 소유권 및 런타임 검사를 시행하기 위해 컴파일 시간 검사의 조합을 사용하여 메모리 안전 보장을 제공합니다. 이러한 안전성은 C 및 C ++와 동등한 성능을 제공하면서 달성됩니다.

 

 

- 샌드박스의 한계

 

C 및 C ++ 언어는 이와 동일한 안전 보장을 제공하지 않으며 강력한 격리가 필요합니다. 모든 Android 프로세스는 샌드 박스 처리되며, 기능에 추가 격리 및 박탈이 필요한지 여부를 결정하기 위해 규칙 2를 따릅니다. 2의 규칙은 간단합니다. 세 가지 옵션이 주어지면 개발자는 다음 세 가지 옵션 중 두 가지만 선택할 수 있습니다.

 

image.png

Android의 경우 이는 코드가 C / C ++로 작성되고 신뢰할 수없는 입력을 파싱하는 경우 엄격하게 제한되고 권한이없는 샌드박스 내에 포함되어야 함을 의미합니다. Rule of 2를 준수하면 보안 취약성의 심각도와 악용 가능성을 줄이는 데 효과적이지만 제한이 있습니다. 샌드 박싱은 비용이 많이 듭니다. 필요한 새 프로세스는 추가 오버 헤드를 소비하고 IPC 및 추가 메모리 사용으로 인해 대기 시간을 발생시킵니다. 샌드 박싱은 코드에서 취약점을 제거하지 않으며 높은 버그 밀도로 인해 효율성이 감소하여 공격자가 여러 취약점을 함께 연결할 수 있습니다. Rust와 같은 메모리 안전 언어는 두 가지 방법으로 이러한 한계를 극복하는 데 도움이됩니다.     

 

1)코드 내의 버그 밀도를 낮추어 현재 샌드 박싱의 효율성을 높입니다.    

2)샌드 박싱 요구 사항을 줄여 리소스에 대해 더 안전하고 가벼운 새로운 기능을 도입 할 수 있습니다.

 

-중략-

 

- 예방 우선 

 

Rust는 다양한 다른 언어 특징을 현대화하여 코드의 정확성을 향상시킵니다.     

 

1.메모리 안전성- 컴파일러와 런타임 검사의 조합을 통해 메모리 안전성을 강화합니다.

    

2. 데이터 동시성- 데이터 경합을 방지합니다. 이를 통해 사용자가 효율적이고 스레드로부터 안전한 코드를 쉽게 작성할 수있게되면서 Rust의 Fearless Concurrency(두려움 없는 동시성) 슬로건에 부합합니다.

    

3. 보다 표현적인 유형 시스템- 논리적 프로그래밍 버그 (예 : newtype 래퍼, 내용이있는 열거 형 변형)를 방지합니다.     참조 및 변수는 기본적으로 변경 불가능합니다. 개발자가 최소 권한의 보안 원칙을 따르고 실제로 의도 한 경우에만 참조 또는 변수를 변경 가능하도록 표시하도록 지원합니다. C ++에는 const가 있지만 자주 사용되지 않고 일관성없이 사용되는 경향이 있습니다. 이에 비해 Rust 컴파일러는 결코 변경되지 않는 변경 가능한 값에 대한 경고를 제공하여 잘못된 가변성 주석을 방지하는 데 도움을줍니다.    

 

4. 표준 라이브러리에서 더 나은 오류 처리- Result에서 잠재적으로 실패한 호출을 래핑하여 컴파일러가 필요한 값을 반환하지 않는 함수에 대해서도 사용자가 실패를 확인하도록 요구합니다. 이는 처리되지 않은 오류로 인해 발생하는 Rage Against the Cage 취약점과 같은 버그로부터 보호합니다. ?연산자를 통해 오류를 쉽게 전파 할 수 있습니다. 운영자와 낮은 오버 헤드를 위해 결과를 최적화하는 Rust는 사용자가 오류가있는 함수를 동일한 스타일로 작성하고 동일한 보호를 받도록 권장합니다.    

 

5. 초기화- 사용하기 전에 모든 변수를 초기화해야합니다. 초기화되지 않은 메모리 취약점은 역사적으로 Android 보안 취약점의 3-5 %의 근본 원인이었습니다. Android 11에서는이 문제를 줄이기 위해 C / C ++에서 메모리를 자동 초기화하기 시작했습니다. 그러나 0으로 초기화하는 것이 항상 안전하지는 않습니다. 특히 반환 값과 같은 경우 잘못된 오류 처리의 새로운 원인이 될 수 있습니다. Rust는 사용하기 전에 모든 변수를 해당 유형의 유효한 멤버로 초기화하여 의도하지 않게 안전하지 않은 값으로 초기화하는 문제를 방지해야합니다. C / C ++ 용 Clang과 유사하게 Rust 컴파일러는 초기화 요구 사항을 인식하고 이중 초기화의 잠재적 인 성능 오버 헤드를 방지합니다.    

 

6. 더 안전한 정수 처리- 기본적으로 Rust 디버그 빌드에 대해 오버플로 삭제 기능이 설정되어있어 프로그래머가 실제로 오버플로를 계산하려는 경우에는 Wrapping_add를 지정하고 그렇지 않은 경우에는 saturating_add를 지정하도록 권장합니다. Android의 모든 빌드에 대해 오버플로 삭제를 활성화하려고합니다. 또한 모든 정수 유형 변환은 명시적 형변환입니다. 개발자는 변수에 할당 할 때 또는 다른 유형으로 산술을 시도 할 때 함수 호출 중에 실수로 형변환 할 수 없습니다.

 

- 다음 계획

 

Android 플랫폼에 새로운 언어를 추가하는 것은 큰 작업입니다. 유지 관리해야하는 툴체인 및 종속성, 업데이트해야하는 테스트 인프라 및 도구, 교육을 받아야하는 개발자가 있습니다. 지난 18 개월 동안 우리는 Android 오픈 소스 프로젝트에 Rust 지원을 추가했으며 앞으로 몇 달 동안 공유 할 얼리 어답터 프로젝트가 몇 개 있습니다. 이를 더 많은 OS로 확장하는 것은 다년간의 프로젝트입니다. 이 블로그에 더 많은 업데이트를 게시 할 예정입니다. 

 

 



  • profile
    엠폴 2021.04.15 14:55
    글 쓰는 도중에 블로그에서 구글이 Rust를 리눅스 커널에 추가하는 작업에 도움을 주고 있다고 언급했습니다.
    출처: https://security.googleblog.com/2021/04/rust-in-linux-kernel.html
  • ?
    치킨코테지 2021.04.15 14:56
    퓨시아에도 러스트가 approved되었죠.
    고랭은 그저 지못미....
  • profile
    엠폴 2021.04.15 17:32
    제가 알기론 Go는 하이레벨 프로그래밍에서 많이 쓰인다고 하네요.
    꽤 간단하고 외우기 쉬워서요.
  • ?
    고슴도치 2021.04.15 23:32
    BPF 쪽에서는 이미 고랭이 적용된 사례가 있어요. 물론 고랭은 그보단 하이레벨이 주류긴 하지만요.
  • ?
    치킨코테지 2021.04.16 00:27
    넹....퓨시아도 로우레벨 네트웤 부분은 고랭으로 짰지염. 바꾸고 싶은데 힘들어서 안바꾸고 그냥 쓴다고...데노도 Go를 기반으로 작성했다가 러스트로 바꾸고...1.17때 제레릭이 나와도 그닥 인기가 많아질 것 같지는 않습니당...저잘쓰긴 하지만ㅠ
  • ?
    고슴도치 2021.04.16 02:02
    인기가 없다고 하기엔 이미 너무 커진거 같습니다. 인프라쪽은 이제 고랭없으면 유지가 안되는 수준이에요.
    러스트는 성장가능성은 크지만, 반대로 지금당장 없어져도 큰 문제는 없다는게 현실이고요. ㅠ

    그래도 요즘 추세를 보면
    커널-러스트, 인프라-고랭, 애플리케이션-기타등등
    요 구도로 갈꺼같다는 생각이 드네요.
  • profile
    엠폴 2021.04.16 12:44
    모질라가 rust 개발자들 해고한 이후 아마존이 대부분의 개발자를 고용하고 rust에 적극적 지원을 약속을 했기 때문에 쉽게 망하진 않을 거라 보고 있습니다.
    출처: https://aws.amazon.com/ko/blogs/opensource/why-aws-loves-rust-and-how-wed-like-to-help/
  • profile
    title: 컴맹칼토로스 2021.04.15 18:30
    이러면 c/c++도 레거시 언어로 밀려나는 건가요
    몇년 뒤면 rust가 로우레벨 주력 언어로 되는 건가
  • profile
    엠폴 2021.04.15 18:45
    안드로이드는 년단위 장기 계획으로 가고 있고. 리눅스쪽은 신규 드라이버등 리눅스 커널 코어 부분외에 새로운 기능들에 한하여 rust가 적용됩니다. 아무래도 수천만줄의 코드를 쉽사리 바꾸지 못하죠.

    근데 언어를 바꾸는데 엄청난 비용과 시간이 드는데도 실행하는 것은 그만큼 c/c++의 메모리 관리가 힘들다는 것이겠죠.
  • ?
    title: 가난한아이들링 2021.04.15 21:02
    파이어폭스가 낳았던 자식이 파이어폭스보다 더 잘나가는 느낌이군요
  • profile
    엠폴 2021.04.15 22:45
    저도 그렇게 생각합니다.
  • profile
    ForGoTTen      결제중.... 2021.04.15 21:09
    사실 시스템의 최하위 부분은 네이티브 코드가 필요하니...
    다른 언어들이 날고 긴다고 해도... 결국 최하위 단에는 OS와 연결시켜줄 네이티브단이 필요하죠.

    지금까지는 C/C++에게 전담시켰던 부분들도... 시대에 변화에 맞춰서 바뀌어야 한다는건 모두가 동의하나...
    누가 바통을 이어받을지는....
  • profile
    엠폴 2021.04.15 22:46
    가장 스트레스 쌓이는 메모리 보안 취약점을 근본적으로 해결하는게 엄청나게 크죠.
    컴파일 단계에서 메모리 버그를 잡아주니 얼마나 편리하겠어요.

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. 윈도우 10 파워 토이, 일괄 이름 변경 기능 추가

    윈도우 10의 파워 토이 0.12에서 폴더/파일의 일괄 이름 변경 기능이 추가됐습니다. 다운로드는 여기에서 https://github.com/microsoft/PowerToys/ 비슷한 기능을 제공하는 프로그램으로 다크네이머를 쓰긴 하는데, 윈도우 포함이면 이...
    Date2019.10.30 소식 By낄낄 Reply2 Views914 file
    Read More
  2. No Image

    포토샵의 새로운 오브젝트 선택툴

      자동으로 오브젝트를 배경과 분리해 준다고 합니다.
    Date2019.10.30 소식 Bytitle: AI아즈텍 Reply5 Views953
    Read More
  3. 윈도우 10 20H1에 추가되는 다이렉트 X 12의 새로운 기능들

    윈도우 10 인사이더 프리뷰 빌드 20H1는 다이렉트 X 12에 다이렉트 X 레이트레이싱 티어 1.1, 메쉬 쉐이더, 샘플러 피드백이 추가됩니다. 다이렉트 X 레이트레이싱 티어 1.0은 2018년 10월에 공개됐고, 1년만에 새 버전인 티어 1.1이 나옵...
    Date2019.10.30 소식 By낄낄 Reply2 Views1169 file
    Read More
  4. No Image

    이더리움의 다음 업데이트, 이스탄불이 12월 4일에

    이더리움 코어 개발자 컨퍼런스는 다음 네트워크 업데이트인 이스탄불을 12월 4일에 실시한다고 결정했습니다. 하드 포크를 어느 블럭에서 실시하는지는 검토 중입니다. 905만 6000 블럭이나 906만 9000 블럭 쯤 될 듯. 이스탄불은 6개의 ...
    Date2019.10.30 소식 By낄낄 Reply0 Views301
    Read More
  5. No Image

    내일부터 앱 하나로 모든 은행 사용

    애플리케이션 하나만 설치해도 모든 은행 계좌를 관리할 수 있는 '오픈뱅킹' 서비스가 내일부터 시범 가동됩니다. 금융위원회는 NH농협과 신한, 우리, KEB하나, KB국민 등 10개 은행이 내일 오전부터 오픈뱅킹 시범 서비스를 시작...
    Date2019.10.29 소식 By낄낄 Reply12 Views1043
    Read More
  6. 티맵 8.0.0 버전 출시

              티맵의 8.0.0 버전이 출시되었습니다.   주로 UI부분의 변경점이 두드러지며 (좀더 쓰기 쉬운 메뉴, 정체시 대체경로 제안)   항공 지도가 추가되었습니다.(항공지도는 다운로드 지도를 설정하더라도 따로 데이터를 사용하여 ...
    Date2019.10.29 소식 By가우스군 Reply8 Views4256 file
    Read More
  7. No Image

    어도비, 베네수엘라에서 계속해서 디지털 서비스 제공

    어도비, 베네수엘라에서 CC 구독 서비스 중단 https://gigglehd.com/gg/5800724 이런 일이 얼마 전에 있었는데요. 어도비가 미국 정부의 논의한 후, 베네수엘라에서 디지털 미디어 제품과 서비스를 계속해서 제공할 수 있게 됐다고 발표했...
    Date2019.10.29 소식 By낄낄 Reply1 Views387
    Read More
  8. 윈도우 10 v1903/1909에서 지원하는 CPU

    윈도우 10 v1903/1909에서 지원하는 CPU의 목록입니다. 인텔은 처음으로 10세대 코어 프로세서가 추가됐습니다. 10nm 아이스 레이크, 14nm 코멧 레이크, 코어 i3/i5/i7i9-10xxx 시리즈가 포함되며, 펜티엄/셀러론/아톰(J40xx/J50xx/N40xx/...
    Date2019.10.28 소식 By낄낄 Reply5 Views1345 file
    Read More
  9. No Image

    크롬 78 데스크탑 버전의 우클릭 메뉴에서 사라진 기능들

    크롬 78 데스크탑 버전의 우클릭 메뉴에서 3개의 기능이 사라졌습니다. 아래는 크롬 77 데스크탑 버전의 우클릭 메뉴와 그 사용률이며, 삭제한 기능은 따로 표기했습니다. Duplicate (탭 복사) : 23.21 % Reload (새로 고침) : 22.74 % Pi...
    Date2019.10.28 소식 By낄낄 Reply2 Views896
    Read More
  10. No Image

    파이어폭스 프리뷰에 게코뷰 애드온 지원

    파이어폭스의 안드로이드 프리뷰 버전에 게코뷰 브라우저 엔진의 확장 기능이 추가됩니다. 웹익스텐션 API를 통해 기존의 API 확장을 그대로 사용할 수 있습니다. 모질라는 안드로이드의 기본 브라우저 컨트롤인 웹뷰 대신 자체 브라우저 ...
    Date2019.10.28 소식 By낄낄 Reply3 Views511
    Read More
  11. No Image

    어도비 CC 사용자 정보 750만건이 유출

    어도비 크리에이티브 클라우드의 사용자 기록 750만건이 유출됐습니다. 이메일 주소, ID, 사용 중인 제품, 계정 생성 날짜/로그인 날짜, 어도비 직원 여부, 구독/결제 상태가 포함됩니다.
    Date2019.10.28 소식 By낄낄 Reply5 Views585
    Read More
  12. No Image

    중국, 가상화폐 발행 위한 암호자산법 제정

    전인대 상무위원회는 지난 26일까지 암호자산의 연구와 암호자산에 대한 과학기술 응용을 정부가 장려하고 지원하는 내용의 암호자산법을 제정해 가상화폐 발행 준비를 사실상 마쳤다. 암호자산법은 내년 1월1일 발효하며 법안 취지를 "암...
    Date2019.10.28 소식 By낄낄 Reply4 Views434
    Read More
  13. 디스코드에 백도어를 넣는 악성코드

    게임용 채팅 앱인 디스코드에서 백도어를 넣는 악성코드가 발견됐습니다. 디스코드의 명령/제어 채널에서 작동하는 Spidey Bot으로, 윈도우용 디스코드에 악성코드가 설치되면 악성 자바스크립트 코드가 다음 위치에 추가됩니다. %AppDat...
    Date2019.10.26 소식 By낄낄 Reply9 Views4906 file
    Read More
  14. No Image

    안드로이드/iOS 크롬 78에서 다크 모드 지원

    구글이 안도르이드 iOS 버전의 크롬 78에 다크 모드를 추가했다고 발표했습니다. 설정 화면의 테마에서 시스템 기본값, 밝음, 어두움의 3가지를 고를 수 있는데, 시스템 기본값을 고르면 운영체제의 UI 모드에 맞춰서 테마가 바뀝니다.
    Date2019.10.24 소식 By낄낄 Reply1 Views1328
    Read More
  15. No Image

    MS 엣지 인사이더, 탭 동기화 지원

    마이크로소프트 엣지 인사이더의 개발 버전인 빌드 79.0.308.1이 발표됐습니다. 여기에선 현재 브라우저에서 열린 탭을 여러 디바이스 사이에서 동기화하는 기능이 추가됐습니다. 설정 화면의 프로필/동기화 섹션에서 옵션을 설정하면 됩...
    Date2019.10.24 소식 By낄낄 Reply0 Views688
    Read More
  16. No Image

    미국 하원 금융 위원회, 페이스북 해체까지 검토

    미국 의회 하원의 금융 서비스 위원회는 페이스북 해산을 검토 중이라고 밝혔습니다. 가장 큰 이유는 리브라 가상화폐 프로젝트 때문인것 같지만, 그 외에 다른 문제도 있다고 지적했습니다. 다양성과 포괄성: 페이스북 간부를 비롯한 직...
    Date2019.10.24 소식 By낄낄 Reply4 Views880
    Read More
  17. No Image

    비트메인, 미국 텍사스주에 50MW의 채굴 공장 건설

    세계 최대 규모의 가상화폐 채굴 기업인 비트메인이 10월 21일에 미국 텍사수 록데일에 50MW 규모의 채굴 공장을 건설한다고 발표했습니다. 2018년에는 록데일의 알루미늄 회사 부지에 25MW 규모의 공장을 세웠다가 가상화폐 시장이 폭락...
    Date2019.10.24 소식 By낄낄 Reply5 Views716
    Read More
  18. No Image

    CCleaner, 또 해킹당함

    아바스트가 인수해서 운영 중인 CCleaner이 2017년에 이어 올해에도 해킹이 됐었다고 합니다. 마이크로소프트가 이 프로그램을 블랙리스트에 올린 것도 이런 이유 아닐까 싶네요. 해커들이 아바스트의 VPN 자격 증명을 손상시켜 임시 VPN ...
    Date2019.10.24 소식 By낄낄 Reply6 Views2476
    Read More
  19. No Image

    구글 크롬 78 공개

    구글이 구글 크롬 78 버전을 정식 발표했습니다. CSS 변수를 사용자 속성에 등록, 변수 종류를 제한하거나 잘못된 값을 불러오면 초기화하는 CSS Properties and Values ​​API Level 1를 추가. 서비스 워커의 임포트가 파이어폭스/사파리...
    Date2019.10.24 소식 By낄낄 Reply1 Views974
    Read More
  20. 파이어폭스 70, 새 로고, SNS 사이트 추적 차단 기능

    파이어폭스 70 버전이 나왔습니다. 우선 로고가 바뀌었고요. 추적 방지 기능 ETP(Enhanced Tracking Protection)가 강화됐습니다. 페이스북, 트위터, 링크드인 같은 SNS의 쿠키가 사용자 정보를 수집하는 걸 막아줍니다. ETP가 얼마나 잘...
    Date2019.10.24 소식 By낄낄 Reply5 Views1697 file
    Read More
목록
Board Pagination Prev 1 ... 207 208 209 210 211 212 213 214 215 216 ... 290 Next
/ 290

최근 코멘트 30개
Loliconite
04:19
냥뇽녕냥
02:49
ExpBox
02:36
포인트 팡팡!
02:25
아이들링
02:25
아이들링
02:06
아이들링
01:53
아이들링
01:51
스와마망
01:41
스와마망
01:37
스와마망
01:35
PAIMON
01:32
PAIMON
01:31
아스트랄로피테쿠스
01:24
ExpBox
01:22
360Ghz
01:21
투명드래곤
01:20
ExpBox
01:20
까마귀
01:19
ExpBox
01:18
아이들링
01:13
포인트 팡팡!
01:07
MUGEN
01:07
빈도
01:04
아이들링
01:01
까마귀
00:59
아이들링
00:50
이수용
00:47
조마루감자탕
00:46
노코나
00:40

더함
AMD
한미마이크로닉스
MSI 코리아

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소