You cannot see this page without javascript.

인텔 보안누출 관련해서 정리(나무위키 펌).txt

by Terry posted Jan 04, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

읽기전 대략적인 컴퓨터 권한 서열: kernel:OS 핵심 > Administrators : 최고 관리자 > Power Users : 시스템 관리자 > user : 일반 사용자(로그온 대상 PC)

 

잘못된 요약이 있을수도 있음

 

가장 마지막줄 요약임.

 

버그 설명 간단 움짤

(메모리에 입력되는 비밀번호가 키로거도 필요없이 CPU에 정보가 입력되는 순간 노출되고 있다.)

 

1995년 이후 출시된 모든 인텔 x86(32비트) PC 프로세서에 해당되는 보안결함

 

취약기종

모바일, 오버클럭 기종 상관없이

제품군

세부

펜티엄 제품군

Pentium XXXXX

셀러론 제품군

Celeron XXXXX

코어 i3 제품군

Core i3 X-XXXX

코어 i5 제품군

Core i5 X-XXXX

코어 i7 제품군

Core i7 X-XXXX

코어 i9 제품군

Core i9 X-XXXX

제온 제품군

Xeon EX-XXXX

아톰 일부 제품군

2013년 이후 출시한 전 제품

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------

 

 

메모리는 사용 주체로 나누면 OS의 핵심인 커널이 사용하는 것과 사용자가 사용하는 부분으로 나눌 수 있는데 보안상 커널이 어떠한 메모리를 어떠한 정보를 담아서 할당되어 있는지는 철저하게 숨겨져야 한다. 이를 막기 위해 부팅할 때마다 커널이 사용하는 메모리를 랜덤하게 옮기는 방식을 이용(KASLR)해서 알아내기 힘들게 하는 기술을 사용한다.

 

 

요약: "커널 권한"을 가진 cpu가 사용하는 공간을 "일반 권한"을 가진 사용자가 볼수있는걸 방지하기 위해 메모리 위치를 랜덤하게 옮겨서 이를 방지함.
 

 

CPU나 인텔 또는 AMD의 각 아키텍처 항목을 보면 알겠듯이 CPU는 분기예측을 하여 미리 메모리에 접근해서 읽어오는 기능이 있는데 예를 들어 커널만이 다룰 수 있는 시스템 기능을 사용자가 요청할 경우 유저모드에서 커널모드로 변환하고 커널모드에서는 사용자에게 알려지지 않도록 메모리 공간에 접근하여 필요한 사항을 처리한 후 모드를 전환하여 이후 유저에게 다시 결과를 제공하게 된다.

 

 

요약: CPU는 미리 메모리에서 데이터를 읽는 기능이 있는데 예를들면 갑만이 다룰수 있는 컴퓨터를 을이 "님 이거 사용가능?"라고 물을경우 을과 갑의 위치가 바뀌고 (전)갑은 (전)을이 모르게 메모리에 들어가서 필요한 일을 처리후 다시 자리 바꿔서 결과를 알려줌.

 

 

문제는 인텔 CPU에서 이 분기 예측기에 유저모드와 커널모드를 구분할 수 있는 기능이 없어서 이런 코드를 만들어서 이를 시스템에 요청하면 즉 system call을 하면, 유저모드에서 커널 모드로 전환될 때 분기예측기에서 미리 커널 공간 메모리에 접근하면서 이를 사용자가 직접적으로 접근가능하게 되어 버린다는 것이다.

 

 

요약:인텔 CPU에서 예측모드와 커널모드를 구분을 못함 그래서 어떤 명령어를 만들면서 갑에게 요청하면 서로 자리가 뒤바뀔때 분기예측기에서 미리 갑의 메모리에 접근하면서 을도 같이 들어가버린다.

 

 

즉, 이러한 과정을 반복한다면 커널 메모리에 어떠한 내용이 어떠한 방식으로 처리되는지 모조리 알 수 있게 된다. 이를 막기 위해서 사용자 페이지 테이블과 커널 페이지 테이블을 아예 분리시키는 것이 리눅스 패치 내용이다. 당연히 이것이 분리되면 캐시의 효율이 감소하게 되는 것.

 

 

요약:이걸 반복하면 갑이 어떤일을 처리하는지 전부 알수있음 이를 막기위해 서로 떨어뜨리기 위햐서 하는것이 리눅스 패치내용 당연히 서로떨어지면 일의 효율이 급감함.

 

 

아키텍쳐 및 커널의 문제이기 때문에 이러한 취약점을 공격할 경우, 암호화나 백신으로도 막을 수가 없다는 것이 가장 큰 문제이다. 왜냐면 그 복호화 키가 메모리에 있으니까

 

게다가 커널 메모리에 처리된 모든 정보를 해커가 알 수 있기 때문에 랜섬웨어나 코인채굴 PC로 전락하는 수준은 애교이고,

 

검색포털, 스팀, 배틀넷 등의 계정탈취, 최악의 경우 은행 공인인증서 뱅킹 전자서명까지 죄다 털리고 현금이 인출되는 상황까지 발생할 수 있는데, 이게 그냥 JavaScript 몇 줄이면 구현 가능한데다 단순 랜선 연결, 혹은 CPU대기전력만으로도 탈취당할 수 있다는 것이다.

 

 

요약:이 버그는 패치를 안할경우 "뭔 지랄을 해도 막을수 없으며" 사용자의 PC가 브트코인 채굴기로 변하는건 에교이며 컴퓨터에 저장된 모든 계정정보,은행 공인인증서가 털리고 현금이 인출된수도 있음 이는 CPU의 대기전력만 있어도 쌔벼갈수 있음.

 

 

 

 

추가설명--------------------

 

 

멜트다운 버그와 스펙터 버그 두개가 같은 연구진에 의해서 발견되었는데, 멜트다운 버그는 유저 프로그램이 운영체제 권한 영역 훔쳐보는 버그고, 스펙터 버그는 한 유저 프로그램이 다른 유저 프로그램 메모리를 훔쳐보는 버그이다.

 

 

요약:말그대로 맬트다운 버그=유저가 최고 관리자의 서류를 볼수잇음 / 스펙터 버그=유저A가 유저B의 메모장을 훔쳐봄

 


이름에서 볼 수 있듯, 멜트다운 버그가 좀 더 심각한 버그임. 애초에 운영체제의 보안 자체가 철저하게 개박살 난다고 해서 멜트다운

 

스펙터는 이보단 덜 심각하고, 구현하기도 어렵지만, 반대로 막는 것도 어렵다고 해서 마치 유령같은 놈이라 하여 스펙터가 됨.

 

일단 멜트다운은 현재로서는 인텔에서만 발생한다고 알려져 있음. (비순차적 실행(OOE) 구조의 결함 때문인데, 다른 프로세서들의 비순차 실행 엔진이 인텔과 같지 않아서) 하지만 스펙터는 명령어 캐쉬 메모리를 탑재하는 현존하는 모든 프로세서에서 공통적으로 발생이 가능하다고 함.

 

 

요약:맬트다운=단어 그대로 컴퓨터 운영체체를 박살낼수 있음 스펙터 버그=말그대로 유령같은놈임 근데 멜트다운 버그는 인텔CPU에서만 발생한다고 알려짐

 

 

1) 알려진 것과 달리, CPU 보안 버그는 하나가 아니라 2개.


2) 멜트다운 버그와 스펙터 버그중 더 심각한 것은 전자, 해당 버그는 인텔 CPU와 일부 ARM Cortex 제품군에서만 발생.


3) 스펙터 버그는 인텔, AMD, ARM 프로세서에서 발견.


4) 업데이트는 2가지 버그 다 수정하는데, 멜트다운 버그 해결 과정에서 성능저하가 크게 발생.

 

 

 

전부 요약:인텔회사 에서 갑과 을이 한 사무실에서 일하다가 빅-초 대형사고 터짐ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 업뎃하면 성능하락하는데 안하면 게인정보 0.1도 안남기고 싸악 털림ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 암호화? 그거 안먹힘

 

읽기편하게 글자크기 키움

 

원문링크(클릭)

Who's Terry

profile

타이탄폴 2:아니 우리 BT아직 살아있거든

팩토리오:자동화 돌리면 겜켜놓고 딴거해도 알아서 발전함 개꿀

레인보우 식스 시즈:클러치 할때면 존나 긴장됨

워프레임:내가 아직도 이딴 게임을 하다니

유로트럭 2:누구 화물 시키신분?


Articles

30 31 32 33 34 35 36 37 38 39