하드웨어 보안 연구실 소개

 

                                                                       

  이중희 교수

 

하드웨어 보안 연구실에서는 하드웨어를 이용하여 소프트웨어의 보안성 또는 효율성을 향상시키거나 하드웨어 자체를 안전하게 설계하는 기술들을 연구합니다. 하드웨어라고는 하지만, ASIC과 같은 전용 하드웨어 뿐 아니라 소프트웨어 수행의 기반이 되는 프로세서, 메모리, 스토리지 등을 모두 포함합니다.  연구실에서 진행되고 있는 몇 가지 연구 주제들을 소개합니다.

파일 기반 기만 기술을 연구 중에 있습니다. 널리 알려진 개념인 허니팟(Honeypot)은 공격자를 속여서 가짜 호스트에 접근하게 하여 공격자의 공격 패턴을 분석하는 용도로 사용되어 왔습니다. 최근에 이 개념이 기만 기술(Deception Technology)이라는 개념으로 확장되어 가짜 파일, 네트워크 포트, 시스템 콜, 패스워드 등에 적용이 확대되고 있습니다. 본 연구에서는 가짜 파일을 이용한 기만 기술을 통해 공격자의 침입 탐지에 활용하고자 합니다. 기존에도 가짜 파일을 이용한 침입 탐지 기술이 있었지만, 오탐이 너무 많다는 단점이 있었습니다. 가짜 파일을 이용한 침입 탐지 기술은 미끼가 되는 가짜 파일을 접근하면 공격의 징후로 탐지합니다. 그러나, 정상적인 사용자가 실수로 미끼 파일을 접근하게 되면 오탐이 발생합니다. 더 큰 문제는, 최근 운영체제들은 파일 검색을 빠르게 지원하기 위해 백그라운드로 파일 인덱싱을 수행합니다. 이 과정에서 디스크의 모든 파일을 계속 읽어 보기 때문에, 지속적인 오탐이 발생하게 됩니다. 본 연구에서는 기존의 파일 인터페이스와는 별도로 숨겨진 인터페이스를 이용하여 정상적인 사용자와 응용은 숨겨진 인터페이스를 이용하도록 하여 오탐 문제를 해결하였습니다. 숨겨진 인터페이스는 운영체제의 시스템콜을 수정하여 구현하였습니다. 기만 기술의 또 다른 문제는 공격자가 기만 기술에 대해 모르고 있으면 속겠지만, 알고 있으면 회피가 가능하다는 것입니다. 현재는 이 문제를 해결하기 위한 연구를 진행하고 있습니다.

SSD(Solid State Drive)는 낸드 플래시 메모리를 이용한 스토리지입니다. 낸드 플래시의 특성상 데이터를 덮어쓰기를 할 수 없고 먼저 기존 데이터를 지우고 새로운 데이터를 써야 합니다. 문제는, 데이터를 지우는데 시간이 많이 걸리다는 것입니다. 이 문제를 해결하기위해 많이 사용하는 방식은 논리적 주소와 물리적 주소를 분리하여 새로운 데이터가 들어오면 빈 물리적 주소에 일단 쓰고 논리적 주소와 물리적 주소의 매핑을 변경하여 논리적 주소는 유지하면서 다른 물리적 주소에 연결하는 것입니다. 이전 데이터는 Garbage Collection(GC)라는 백그라운드 작업을 통해 지우게 됩니다. 따라서 GC로인해 지워지기 전까지는 이전 데이터가 SSD 내부에 남아있게 됩니다. 이 특성을 잘 활용하면 데이터 백업을 효과적으로 할 수 있습니다. 현재 진행 중인 연구는 SSD를 이용하여 랜섬웨어에 대비한 백업을 자동으로 수행해 주는 것입니다. 랜섬웨어 탐지의 정확도를 올리기 위해 하드웨어 기반의 탐지 기술을 채택하였지만, 대부분은 SSD 내부의 펌웨어를 수정하여 구현되었습니다.

사물인터넷(IoT)은 다양한 기기들이 네트워크에 연결되어 함께 동작하게 됩니다. 공격은 가장 취약한 부분에서부터 시작되기 때문에, 어떤 기기의 보안도 간과할 수 없습니다. 그러나, 사물인터넷 기기들 중에는 스마트 센서와 같이 연산 능력이 크지 않은 기기들도 있기 때문에, 아주 복잡하고 정교한 보안 프로그램을 수행시키는 것은 무리가 있습니다. 본 연구에서는 사물인터넷의 모든 기기를 항상 완벽히 방어할 수는 없다는 사실을 인정하고, 어느 기기가 공격을 당했다면, 그 기기를 시스템에서 고립시켜 시스템의 다른 부분이라도 정상적으로 수행될 수 있도록 하는 방법을 연구 중입니다. 가장 큰 문제는, 시스템의 어떤 기기도 공격을 당할 수 있다고 가정한다면, 보안 정책을 누가 어떻게 집행을 하느냐입니다. 본 연구에서는 블록체인을 이용하는 방법을 사용하고 있습니다. 블록체인은 몇몇 기기가 공격을 당하더라도 충분히 많은 수의 기기가 정상 동작을 하고 있다면 전체 시스템은 정상적으로 동작할 수 있기 때문입니다. 그러나, 블록체인을 사물인터넷에서 바로 수행시키기는 어려운 것이, 각 기기의 자원이 충분하지 않고, 모든 기기가 같은 블록체인 프로토콜을 지원한다고 가정하기 어려우며, 지연시간이 너무 길기 때문입니다. 본 연구에서는, 일종의 게이트 웨이 형태의 하드웨어 모듈을 부착하는 방식으로 이러한 문제를 해결합니다. 이 하드웨어는 각 기기에 일대일로 연결되어 있고 블록체인 클라이언트를 수행합니다. 따라서 기존의 어떠한 기기라도 본 프레임워크에 참여할 수 있으며, 블록체인 클라이언트 수행에 자원을 소비하지 않아도 됩니다. 지연시간 문제는 암호화 기반 블록체인 대신 Practical Byzantine Fault Tolerance Protocol을 이용하여 해결하였습니다.

Verifiable Computation은 다른 기기 또는 서버에 Computation의 일부를 아웃소싱하는데 활용되는 기술입니다. 아웃소싱한 연산 결과가 맞는 결과인지 확인하기 위해 서버는 연산 결과와 함께 증명을 함께 보내고 클라이언트는 증명을 확인함으로서 결과의 정확성을 검증합니다. 기존의 Verifiable Computation 기술들은 연산의 모든 과정을 하나 하나 증명하기 때문에 수행 속도가 엄청나게 느리다는 단점이 있습니다. 본 연구에서는 이를 해결하기 위해 하드웨어는 신뢰한다는 가정하에 새로운 Verifiable Computation 기법을 개발 중에 있습니다. 이를 위해 하드웨어에서 정확히 어떤 Security Property를 제공해야하는지 이론적으로 정의하였고, 간단한 임베디드 프로세서에 적용하여 검증하였습니다. 현재는 이론적으로 정의된 Security Property들이 정확히 구현되었는지 검증하는 기법과 보다 복잡한 최신 프로세서에 적용하는 방법 등을 연구 중에 있습니다.