iPhoneX에서 버그가 잇따라 발생하고 있다. 며칠 전, iPhone의 홈 화면이 계속 재부팅되는 리스프링(Respring) 버그가 전 세계 동시다발적으로 발생하였고, 이에 사용자들은 불편함을 호소했다. 정확히, iPhone의 홈 화면 프로그램인 ‘스프링보드(SpringBoard)’가 계속 재실행되는 것으로, 바람개비 모양의 아이콘이 잠시 보이다가 얼마 안 있어 다시 정상작동 되었다. 이 버그의 원인은 iPhone에 설치된 앱이 시간과 날짜에 영향을 받아 처리하는 과정에서 문제가 생겨 발생한 버그였다. 한편, 리스프링 버그 전에는 콜드게이트(Coldgate)라 하여, 추운 곳에 iPhone을 들고 나가면 iPhone의 터치가 먹통이 되는 버그가 발생했었다. 본래, iPhone의 가이드라인에 따르면 iPhone은 0도부터 35도 사이에서 정상작동을 해야 했다. 하지만 콜드게이트 버그는 해당 범위 안에 있음에도 낮은 기온에 영향을 받아 액정 앞면에 있는 광 센서에 따른 조명 변화에서 발생하는 버그였다. 이같이 계속해서 발생하는 버그는 그것이 끝이 아니었다. 리스프링, 콜드게이트 그리고 다른 두 개의 버그와 함께 iPhone뿐만 아니라 버그는 Mac OS에서도 꾸준히 발생했다.
혁신을 이뤄내는 기업, 애플. 혁신, 이전에 가지고 있던 풍속이나, 관습, 조직, 방법을 완전히 바꾸어 새롭게 만든다는 의미가 있다. 단순함에서 나오는 혁신은 소비자들의 호응을 이끌어냈다. 사실 따지고 보면, 새로울 것은 없다. 기존의 기술 중에서 쓸만한 것을 찾아 새롭게 조합했을 뿐이다. 그리고 그것을 교묘하게 감추곤 예술성 같은 감성으로 감쌌다. 물론, 이 예술성에는 편리함과 효율성, 효용성 높은 디자인과 기술이 한몫했을 것이다. 하지만 결국엔 새로울 것이 없는 기술의 통합이다. 잡스는 혁신 속에서 창의성을 발휘한 것이다. 하지만 최근 들어, 혁신이 사라졌다는 얘기가 오간다. 애플의 스타일러스 펜을 보자. 잡스라면, 펜도 펜이지만 손가락으로 더 정밀한 작업도 해낼 수 있는 기기를 개발하려 하지 않았을까 생각한다. 이 문제는 그렇다 치자. 기존의 제품은 어떤가. 한 제품에서 단기간에 잇따른 버그가 나오는 것을 그냥 보고만 있었을까. 그들의 깐깐함과 높은 완성도는 어디 갔을까. 오늘은 아이폰에 잇따른 버그 제보와 애플에 대해 이야기해 보려 한다.
컴퓨터가 해킹당했을 때 가장 결정적인 공격은 무엇일까, 원격제어? 권한 상승? 딱히 정확하게 말할 수는 없을 것 같다. 상황에 따라도 달라질 것이고, 침투한 운영체제에 따라도 달라질 터이니 말이다. 그 외에도 여러 변수가 존재하지 않을까 생각한다. 실제로 윈도 운영체제에서 권한 상승 버그가 생각 외로 많기도 하고, 반면에 리눅스나 유닉스, Mac 운영체제에서는 얘기가 좀 다르기도 하다. 상대적으로 리눅스, 유닉스, Mac은 윈도 운영체제보다 권한 상승 취약점의 위협 영향권이 더 넓을 수도 있다. 윈도는 사용자마다 하나의 컴퓨터에서 여러 게스트를 두고 각각의 사용자에게 맞춰 운영되므로, 마치 개인 컴퓨터를 사용하는 것처럼 사용할 수 있다. 반면, 리눅스, 유닉스, Mac은 하나의 컴퓨터에서 각각 파일, 폴더 자체에 사용자의 권한을 주고 사용되기 때문에 공공의 컴퓨터에서 내가 접근할 수 있는 파일이나 폴더가 나누어져 있다고 생각하면 쉽다. 그러니 파일, 폴더에 접근할 때 ‘권한’의 중요도는 상대적으로 윈도보다 앞서 얘기한 세 개의 운영체제에 더 큰 비중을 두는 걸 수도 있다. 그런 의미로 며칠 전, Mac 컴퓨터 Apple의 최신 운영체제인 MacOS High Sierra에서 권한상승이라는 심각한 취약점이 발견되었다. 어떤 내용인지 한번 알아보자.
1977년에 발명된 RSA (Rivest Shamir Adleman)는 일반적으로 암호화뿐만 아니라 디지털 서명 생성도 할 수 있는 최초의 알고리즘이다. RSA를 사용하기 위해선 암호화 키가 필요한데, 이 키는 비밀 키와 공개 키로 항상 쌍으로 구성된다. 따라서 RSA를 비대칭 키 암호 시스템이라고도 하는데, 이러한 키 쌍은 두 개의 매우 큰 소수를 기반으로 먼저 생성된다. 하지만 여기서 사용되는 소수가 적절한 길이인지, 그 수가 정말로 소수인지 확인하는 작업은 오늘날에도 어려운 일이다. 또한, RSA가 적용되는 애플리케이션마다 요구 사항이 틀리기도 하고, 특히, 시간이 얼마 없을 때는 키 쌍을 만들기 위해 가속 알고리즘을 사용하기도 한다. 이를 ‘Fast Prime’ 이라고 하는데, 이 알고리즘은 소프트웨어 기반으로 이루어지며 하드웨어와는 전혀 무관한 알고리즘이다.
일반적으로 우리가 많이 사용하는 운영체제 화면은 GUI 즉, 그래픽 환경으로 구성된 운영체제다. GUI는 Graphical User Interface의 약자로, 사용자가 컴퓨터를 할 때, 직관적인 조작 방식으로 언어를 몰라도 쉽게 조작할 수 있다. 반면 GUI 이전에는 UNIX 콘솔이나 도스 시리즈처럼 직접 문자를 입력하여 사용하는 운영체제, CUI(Command-line Interface), CLI (Character User Interface)가 존재했다. 그리고 GUI와 CUI의 그 중간 어디가, TUI(Text-based User Interface)라는 것이 존재하는데, 이는 텍스트 기반 사용자 인터페이스로 CUI와는 다른 또 다른 개념이다. TUI는 문자를 의미의 표현뿐만 아니라 레이아웃의 표현에도 사용되는 일종의 그래픽 사용자 인터페이스이다. 좀 더 얘기하면, CLI는 문자열을 한 버퍼의 단위로 사용되어 화면상에 표시할 때 줄 또는 문자열의 추가가 매우 효율적이다. 반면 TUI는 화면 전체를 한 버퍼의 단위로 사용하기 때문에 버퍼의 용량이 매우 큰 대신 버퍼의 좌표와 화면의 실제 좌표를 1:1로 대응할 수 있다. 사용자 입장에서 가장 크게 와 닿는 차이점은 방향키를 사용할 수 있다는 점이다. 쉽게 말해, 문자를 이용한 그래픽 사용자 인터페이스인 것이다. 왜 뜬금없이 GUI, CUI, TUI에 대한 이야기를 하냐고? 오늘의 이야기가 이 TCU에 해당하는 하나의 명령어에 대해 이야기하려 하기 때문이다. 그것이 무엇이냐면, 최근 우리가 자주 사용하는 man 명령어에서 10년 가까이 된 오래된 루트 익스플로잇이 발견되어 많은 이가 놀랐다는 사실이다.
12월을 바라보는 이 시점에서 올해 발견된 취약점은 놀라울 만하다. 우리가 평소에 안전하다고 생각했던 것들 대부분에서 발견된 취약점은 한편으로 당황스럽게 만들기 충분했다. 반면, 여러 보안 연구원에 의해 계속해서 발견되는 취약점은 컴퓨터 산업이 좀 더 안전해지고 견고해지려는 한 걸음이지 않을까 기대하게도 만든다. 최근 ‘페어링’이라는 안전한 인증 시스템으로 뚫기 힘들고 안전하다 생각했던 블투투스에서 대량의 취약점이 공개되면서 ‘블루본’이라는 새로운 이슈거리가 여러 해커 입에 올라왔다. 그리고 ‘KRACK’이 공개되면서 우리가 안전하다 믿고 흔히 사용하고 있던 ‘WPA2’가 속수무책으로 탈탈 털렸다. 두 번의 충격이 가시기도 전에 곧바로 새로운 이동통신망 5G에서 취약점이 나오고, 안전한 통신 연결을 위해 사용되는 VPN에서도 취약점이 공개되었다. 모든 시스템이 안전하다고 믿는 것은 아니지만, 이처럼 생각지도 못했던 취약점은 한 방 먹은 듯한 느낌이 들곤 한다. 특히나, 이건 필자의 느낌적인 느낌이지만, 발견되는 취약점 중에서 소프트웨어상이나, 시스템적인 부분에서 발견되는 취약점보다 우리가 사용하고 있던 암호화 알고리즘에서 발견되는 취약점이 유독 더 크게 와 닿는 기분이다. 오늘의 이야기도 이처럼 암호화에서 발견된 취약점에 대해 말해볼까 하는데, 지난 2017년 11월 7일, 미 국토 안보부인 US-CERT는 IEEE P 1735 암호 표준에서 취약점이 발견되어 사용에서 주의하라는 경고를 발표했다.
세계에서 최고로 장수한 SF 시리즈, 영국 드라마 닥터후는 스타워즈, 스타트렉과 함께 통상적으로 ‘세계 3대 SF 영상물 시리즈’로 꼽힌다. 닥터후는 타임로드라는 종족의 외계인인 닥터가 그의 동료와 함께 시공간 여행을 다니면서 지구와 인류를 구하고 우주를 구하는 이야기다. 닥터에게는 신기한 물건이 몇 개 있는데, 영국 런던에 있는 공중전화부스 모양의 우주선 타디스와 그리고 무엇이든지 해킹할 수 있는 만능 장비 소닉 스크류 드라이버다. 타디스는 그렇다 치고, 소닉 스크류 드라이버는 닥터가 가지고 있는 유일한 무기며 여행 도구로, 소닉 기술을 드라이버에 넣은 것이다. 이는 소리를 사용하여 여러 가지 방법으로 사물을 조작하는 드라이버로 이를 이용하여 문을 열거나 닫고, 기기를 해킹하거나 외계 기술 탐지, 물질 분석 등 다양한 것을 할 수 있다. 예를 들어, 닥터후 에피소드에서 간혹 닥터가 소닉 스크류 드라이버를 사용하여 ATM 기기를 해킹하는 장면이 나온다. 이처럼 기기로 되어 있는 물건은 웬만해선 조작할 수 있는데 이런 도구 하나 있으면 불사조의 깃털이 들어간 해리포터의 지팡이도 부럽지 않을 듯하다. 아무튼, 오늘은 왜 시작부터 뜬금없는 닥터후 얘기를 하고 있느냐 면은 닥터의 소닉 스크류 드라이버가 이제는 SF 속 이야기가 아닌 진짜로 다가오고 있다는 소식을 전하고 싶어서다.
최근 들어 오래된 암호화 시스템이 뚫리는 공격에 대한 발표가 있었다. 그리고 앞서 얘기한 KRACK, ROCA와 같은 공격의 후유증이 완전히 가시기도 전에 나타난 것이 있으니, 그것이 DUHK(Don’t Use Hard-Coded Keys)이다. 하드 코드화 된 키를 사용하지 말라고? DUCK 공격을 통하면 암호화를 복구하는 키로 VPN 연결을 노출한다. 이게 무슨 말인즉, VPN과 같은 가상사설망을 통하여 서버에 연결하였을 때 VPN으로 오가는 정보가 외부의 위험으로부터 노출된다는 이야기다. 어떻게? 자, 그럼 새로운 암호 공격인 DUCK에 대해 더 알아보자.
이동통신망은 지난 몇 년 동안 주목할만한 발전을 이루었다. 음성 서비스를 제공하던 1G가부터 지금 사용되고 있는 LTE-A(Long Term Evolution-Advanced)라 일컫는 4G까지 바쁘게 발전해온 것 같다. 그리고 앞으로 2020년경, 새로운 이동통신이 나타날 것으로 추측하는데 그것이 바로 5G다. 현재 4G는 늘어난 스마트 기기와 여러 데이터 서비스로 데이터 트래픽이 매우 폭증하는 추세다. 이 때문에 사업자는 망 관리, 시설 추가의 비용 부담이 발생하고, 사용자는 서비스가 지연되거나 불통이 되는 등 불편함을 느끼는 것은 물론 데이터 사용료가 엄청나게 발생하게 될 가능성에 대한 문제가 대두하고 있다. 물론, 4G 이동통신망도 나름대로 수용 능력을 늘리고 효율을 증가시키려 노력하고 있지만, 갈수록 늘어나는 수백 대 그대로를 수용하기에는 구조적인 한계가 있을 것으로 보인다. 이와 같은 이유가 5G가 만들어지게 된 결정적인 이유이며, 현재의 4G와는 달리 5G는 매우 다른 개념으로 접근하여 개발하는 방안으로 앞서 얘기한 문제점들을 보완하려 노력하고 있다. 앞으로 2020년 이후의 이동통신망을 책임질 5G의 등장은 기대를 하기에 충분하다지만, 며칠 전 5G에 대한 취약점이 보고되면서 살짝 주춤한 기세다.