12월, 2019의 게시물 표시

Magellan 2.0 취약점, 크롬 브라우저에 영향

SQLite의 해킹 취약점 작년 이맘때 쯤 데이터베이스 프로그램인 SQLite에서 마젤란이라는 고위험 취약점이 발견됐었다. 이번에 그와 비슷한 취약점이 발견되어 마젤란 2.0이라고 불린다. CVE-2019-13734, CVE-2019-13750 ~ CVE-2019-13753으로 등록됐다. SQLite는 주요 브라우저와 운영체제 등 많은 프로그램의 구성 요소로 사용되고 있기 때문에, 마젤란의 영향권은 상당히 넓다. 취약한 SQLite 버전을 포함하고, WebSQL 등 외부 SQL 쿼리를 허용하도록 구성된 소프트웨어는 모두 해당된다. Chrome, Firefox, Windows 10 등이 대표적인 예다. PC, 모바일, IOT 등 플랫폼을 가리지 않는다. 이처럼 잠재적으로 위험에 노출된 프로그램은 많지만, 주로 문제되는 것은 크롬을 비롯해 Chromium에 기반한 브라우저들이다. 마젤란 2.0은 원격코드 실행이 가능하기 때문에, 악의적인 웹 사이트를 방문하는 것만으로도 악성코드가 설치되는 등 해킹을 당할 수 있다. SQLite와 구글은 이에 대한 패치를 발표했으므로, 크롬 브라우저를 최신 버전으로 업데이트해야 한다. 관련 자료 Magellan 취약점, 안드로이드와 크롬 위협한다 참고 자료 New Magellan 2.0 SQLite Vulnerabilities Affect Many Programs

PlunderVolt, 인텔 CPU SGX 해킹 취약점

CVE-2019-11157 Intel CPU의 보안 영역인 SGX Enclave에서 암호화 키 등 중요 정보를 추출할 수 있는 취약점이 발견됐다. 6세대 이후의 코어 시리즈를 비롯해 SGX 기능을 지원하는 CPU들이 해당된다. 근래의 CPU는 소프트웨어를 통해 클럭(frequency)과 전압(voltage)을 조절할 수 있다. 최대 성능에서는 발열과 전력 소모가 심하기 때문에, 평상시에는 성능과 절전이 균형을 이루는 수준을 유지하고, 필요에 따라 성능 수준을 조절할 수 있도록 한 것이다. CPU 클럭과 전압은 비례 관계에 있기 때문에, 안정적인 작동을 위해 허용되는 조합이 정해져 있다. 그런데 PlunderVolt 취약점을 발견한 연구팀은 CPU에 부적절한 클럭/전압의 조합을 강제하면, SGX enclave의 기능에 오류를 일으켜 정보를 빼낼 수 있다는 것을 밝혀냈다. SGX를 공격하는 기법은 이전에도 여럿 있었지만, 플런더볼트는 이들보다 빠른 속도로 정보를 추출할 수 있어서 훨씬 실용적이라는 것이 연구팀의 주장이다. 인텔은 이에 대응해 microcode(CPU의 펌웨어)와 BIOS 업데이트를 내놨다. 이 둘을 함께 적용해, CPU의 클럭과 전압을 기본값으로 고정시켜야 취약점이 해결된다. 문제는 이렇게 하면 오버클럭 유틸리티 등 CPU 클럭을 조절하는 정상 프로그램도 작동하지 않는다는 것이다. 마이크로코드 업데이트는 Windows update를 통해 제공되기 때문에 문제가 없다. 그러나 바이오스 업데이트는 메인보드 제조사에서 제공하는데, 출시된 지 조금 오래된 보드에는 잘 제공하지 않는 경우도 있다. 관리자 권한 필요 PlunderVolt는 소프트웨어적인 방법만을 사용하기 때문에, 해커가 PC에 물리적으로 접근할 필요는 없다. 즉 원격 실행이 가능하다. 다만 CPU의 클럭과 전압을 조절하는 프로그램은 관리자 권한으로 실행돼야 하기 때문에, 해커는 먼저 다른 방법으로 표적 PC를 해킹해야 한다. 그러나 이 점이 플런더볼트를 평가절...

가정에서도 망 분리를 해보자

이미지
멀티 무선 네트워크(multi SSID) 망 분리는 용도와 보안 수준에 따라 각 네트워크를 분리해 구성하는 것이다. 주로 조직체에서 사용하는데, 내부의 중요한 컴퓨터는 외부 인터넷 망과 완전히 단절시키는 경우가 한 예다. 이렇게 하면 일반 직원들이 사용하는 컴퓨터가 해킹당하더라도, 핵심 서버는 영향을 받지 않는다. 이제는 가정에서도 망 분리를 고려할 시점이 됐다. IOT 기기 사용이 늘어나는 데 반해, 그 보안 수준은 열악하기 때문이다. 아마존 같은 선두권 기업의 제품에서도 기초적인 허점이 드러나곤 한다(관1). 여타 제품들은 어떤 상황일지 상상이 간다. 네트워크 내 하나의 기기가 뚫리면 전체 네트워크가 위험해 진다. 망 분리는 쉽다. 대부분의 공유기가 다중 네트워크 기능을 지원하기 때문이다. ipTIME 공유기에서는 그림과 같이 설정하면 된다. 게스트 네트워크를 선택해 켠 다음, SSID와 인증 방식을 설정한다. 가장 중요한 것은 통신 정책 설정이다. 반드시 'WAN포트 인터넷 통신만 허용'으로 설정해야 한다. '모든 통신 허용'을 선택하면 망 분리 효과가 없다. 기본 네트워크에 연결된 기기와도 통신이 되기 때문이다. 이제 보안이 취약한 기기들은 게스트 네트워크에 연결하고, PC와 NAS 등 중요한 것들은 기본 네트워크에 연결한다. 손님에게 와이파이 암호를 알려주기 싫을 때도 요긴하다. 외부인 용으로 별도의 네트워크를 만들면 된다. 무선 WAN으로 와이파이 확장 우리가 직접 구입한 공유기는 이처럼 쉽게 망 분리를 구성할 수 있다. 문제는 통신사에서 제공한 공유기를 사용하는 경우이다. IOT 기기는 통신사의 결합 상품으로 제공되는 경우가 많은데, 통신사의 공유기는 기능이 부족한 경우가 많다. 성능이 처진다기보다는, 고급 설정은 통신사가 직접 관리하고, 사용자 인터페이스에 노출시키지 않는 것이다. 통신사의 공유기가 멀티 SSID 기능을 지원하지 않는다면, 무선 WAN 방식으로 네트워크를 확장하면 된...

KODI에서 동영상 화면 비율과 크기 조절하기

이미지
나는 Windows 10용 동영상 플레이어로는 KODI가 제일 좋다고 생각한다(관1). 코디에서는 동영상 재생 시 화면 비율과 크기를 자유자재로 조절할 수 있다. 코디는 각 파일에 대해 조절한 내용(밝기, 화면 비율, 자막 싱크 등)을 기억하므로, 다음 재생 시에는 다시 조절할 필요가 없다. video settings 코디의 video settings에서는 다양한 옵션을 제공하므로, 어떠한 동영상도 입맛에 맞게 조절할 수 있다. 아래 예는 HD 해상도(1366*768)의 화면에서 640*480 해상도의 SD급 동영상을 재생하는 경우이다. 먼저 비디오 설정에 들어가는 모습이다. View mode video settings에서 view mode를 선택하면 다양한 옵션이 나온다. 여기서 zoom이 들어가는 것들은 화면 가장자리가 잘릴 수 있다. Custom은 수동 조절한 내용을 반영할 때 사용한다. original size 원본 크기 그대로 보여준다. 예에서는 화면은 HD급인데 영상은 SD급이기 때문에 상당히 작게 보인다. 반대로 FHD, UHD급 영상을 재생한다면, 화면 해상도보다 영상 해상도가 더 크기 때문에 가장자리가 잘리게 된다. normal 노멀(보통)이 기본값으로, 대부분 가장 보기 편한 상태로 보여준다. 원본 비율이 유지되고, 적당히 확대 혹은 축소되어 잘리는 부분없이 다 보여준다. 블랙바는 최소화된다. zoom mode 화면 비율을 유지한 채 블랙 바를 없애준다. 줌 계열은 화면 가장자리가 잘릴 수 있다. 한글 메뉴에서는 '확대/축소'라는 잘못된 표기를 하고 있다. stretch 16:9 가로로 늘리기이며, 비율을 강제로 와이드 스크린에 맞춘다. 영상이 옆으로 넙쩍해진다. pixel ratio 화면 비율을 내 맘대로 수동 조절 할 수 있다. 16:9 늘리기, 4:3 늘리기는 이의 프리셋이라 할 수 있다. 픽셀 비율은 1.0이 기...

StrandHogg, 안드로이드 제로데이 취약점

이미지
악성코드가 정상 앱을 대신해 실행된다 2019.12.3일 Promon은 Android 운영체제에서 새로 발견한 StrandHogg 취약점에 대한 보고서를 발표했다. 이는 안드로이드 10을 포함해 모든 바전의 안드로이드에 해당한다. Promon은 이 취약점을 올 여름에 구글에 알렸지만, 구글은 아직 패치를 내지 않고 있다. StrandHogg는 이미 실전에 활용되고 있다. BankBot의 변종 등 악성 앱들이 이 취약점을 악용하고 있음이 확인됐으며, 체코에서는 은행 계좌의 돈을 도둑맞는 사건이 몇 건 발생했다. 스트랜드호그는 안드로이드 멀티태스킹 기능에 있는 취약점이다. taskAffinity라는 설정이, 아무 앱이나 다른 앱을 사칭(task hijacking)할 수 있도록 허용하고 있어서다. 그림(참1)을 보면 쉽게 알 수 있다. 공격의 표적이 된 정상 앱의 아이콘을 클릭하면, 원래 앱 대신 악성 앱이 실행된다. 악성 활동이 끝나면 다시 정상 앱을 실행시킨다. 이 방식은 악성 앱이 원하는 권한을 쉽게 얻을 수 있다. 사용자는 자신이 평소에 사용하는 앱이 권한을 요청하는 걸로 알기 때문에, 의심 없이 허락할 수 있다. 피싱(phishing)에도 효과적이다. 정상 앱이 로그인이나 기타 정보 입력을 요청하는 것으로 보이기 때문에, 쉽게 속아서 중요한 정보를 입력할 수 있다. 이를 악용하는 데는 루트 권한은 물론, 기타 아무런 권한도 필요치 않다. 표적 앱이 실행 중일 필요도 없고, 심지어 표적 앱이 설치되지 않은 상태에서도 가능하다. Promon이 제시한 대표적인 악성 행위는 다음과 같다. 마이크나 카메라를 사용해 피해자를 감시한다. 문자 메시지를 보거나 전송한다. 통화 내용을 녹음한다. 로그인 정보를 탈취한다. 사진, 주소록, 폰 로그 등 스마트폰에 있는 모든 파일에 접근한다. GPS를 이용해 위치를 추적한다. 피해자가 StrandHogg를 통해 해킹당하고 있다는 것을 알아채기는 어렵다. 프로몬에 따르면, 탐지할 수 있...