산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 사물 인터넷 기술

엔지니어가 알아야 하는 하드웨어 보안 취약점

엔지니어가 하드웨어 보안에 관심을 가져야 하는 이유는 무엇입니까? 설계를 통해 취약점을 예방할 수 있기 때문입니다!

엔지니어가 하드웨어 보안에 관심을 가져야 하는 이유는 무엇입니까? 설계를 통해 취약점을 예방할 수 있기 때문입니다!

엔지니어들은 전통적으로 보안 문제에 대해 이야기하는 것을 별로 좋아하지 않습니다. 그러나 이것이 엔지니어가 암호화에 대해 아는 것이 얼마나 중요한지를 부정하지는 않습니다. 따라서 앞으로 설계에서 이 문제를 해결할 수 있습니다.

지금까지 우리는 엔지니어의 (간단한) 암호학, Diffie-Hellman 교환 및 ECC(타원 곡선 암호) 작동 방식에 대해 이야기했습니다.

이제 해커가 암호를 해독하는 방법을 배울 때입니다. 따라서 일반적인 공격으로부터 설계를 보호하기 위한 긴 여정을 시작할 수 있습니다.

전기 엔지니어가 보안에 관심을 가져야 하는 이유

기업 수준 또는 안전이 중요한 설계에 보안 장치를 제공할 책임이 있는 경우 설계 프로세스의 모든 단계에서 칩 공급업체 및/또는 보안 연구원과 설계에 대해 논의해야 합니다. Microchip, SiLabs, WolfSSL 등과 같은 회사에는 설계를 지원하고 보안에 대해 교육할 수 있는 엔지니어가 직원에 있습니다.

결국 100% 안전한 시스템은 없습니다.

<블록 인용>

“못 타는 말은 없었다. 던지지 못하는 라이더는 없었습니다.”

보안 연구원은 해커와 평생 게임을 합니다. 몇 번이고 "깨지지 않는" 암호화가 깨졌습니다. 메시지가 암호화된 상태로 유지되는지 여부는 부품 선택, 회로를 얼마나 잘 설계했는지, 코드를 얼마나 잘 구현했는지, 공격자가 설계를 무효화할 충분한 동기와 장비를 갖추고 있는지 여부에 달려 있습니다. 엔지니어로서의 임무는 개인 키를 보호하기 위해 할 수 있는 모든 일을 하는 것입니다.

국가로부터 개인 키를 보호하기 위해 할 수 있는 일은 사실상 아무 것도 없다는 것을 알고 계실 것입니다. 다양한 정부 기관이 전자 및 인간 표적에 대항하기 위해 가져올 수 있는 자원은 상당하고 압도적입니다. 스파이가 기기에서 개인 키를 검색할 수 없더라도 항상 기기를 프로그래밍한 컴퓨터를 해킹하고 IC가 제조되는 공장에 침투하고 직원을 손상시킬 수 있습니다...

다행스럽게도 국가가 기기를 해킹하는 것에 대해 걱정할 필요가 없습니다. 해제 다행히도 일반적으로 우리가 믿고 싶은 것보다 훨씬 간단한 문제입니다. 약 250달러 상당의 하드웨어와 YouTube 교육 비디오에 액세스할 수 있는 십대는 오후에 마이크로컨트롤러에서 개인 키를 꺼낼 수 있습니다. 그리고 악의적인 프로그래머는 단 몇 분 만에 데이터를 훔칠 수 있습니다.

보안 설계에 대비하기 위해서는 당면한 위협을 이해하는 것이 중요합니다. 다음은 잘 알려진 하드웨어 기반 보안 취약점과 이를 완화하기 위해 할 수 있는 일에 대한 개략적인 보기입니다.

임베디드 시스템 보안 문제의 예

몇 가지 주요 하드웨어 취약성 예를 살펴보고 보다 안전한 설계를 위한 몇 가지 팁에 대해 논의해 보겠습니다.

전자기 사이드 채널 공격

연구원들은 수십 년 동안 전자기 부채널 공격에 대해 알고 있었습니다. 기계식 스위치나 트랜지스터가 상태를 변경할 때마다 전자기파는 도체를 따라 그리고 도체에서 바깥쪽으로 전파됩니다. 해커가 전자파를 가로채면 파동을 생성하는 데 사용된 데이터를 재구성할 수 있는 경우가 많습니다. 자세한 내용은 Van Eck Phreaking, Tempest 또는 아래 동영상을 참조하세요.

전자기 부채널 공격 완화

PCB를 설계하고 배치할 때 업계 모범 사례를 사용하십시오.

<올>
  • 감결합 커패시터를 전원 핀에 최대한 가깝게 배치합니다.
  • IC 아래에 견고한 접지면을 사용하십시오.
  • IC 상단에 EMI 차폐를 사용합니다.
  • 장치에 물리적으로 액세스하는 사람을 막지는 못하지만 작업을 훨씬 더 어렵게 만듭니다.

    차동 전력 분석 공격

    대부분의 마이크로컨트롤러에서 암호화를 해독하려면 $0.005 저항, 아날로그-디지털 변환기, Python 프로그래밍 언어에 대한 기본적인 이해만 있으면 됩니다.

    마이크로컨트롤러의 디지털 게이트가 전환되면 마이크로컨트롤러로 연결되는 전원 레일을 방해합니다. 해커는 마이크로컨트롤러 작동 중에 발생하는 전류의 미세한 변화를 기록하기 위해 전원 레일에 50Ω 저항과 아날로그-디지털 변환기를 배치하는 방법을 배웠습니다.

    마이크로컨트롤러는 차동 전력 측정 데이터가 기록되는 동안 SPI 프로그램/디버그 인터페이스를 통해 조사됩니다. 나중에 데이터를 분석하고 피크와 펄스를 사용하여 개별 마이크로컨트롤러 동작을 상호 연관시키고 지문을 생성합니다.

    주의 깊은 분석을 통해 해커는 마이크로컨트롤러에서 원하는 거의 모든 정보를 꺼낼 수 있습니다.

    차동 전력 분석 공격 완화

    이 해킹은 소프트웨어 기반 암호화 코드로 쉽게 수행되므로 가능하면 DPA 대응책을 구현하는 암호화 하드웨어 가속기를 사용하십시오. 이전과 마찬가지로 디자인 및 레이아웃에서 업계 모범 사례를 사용합니다. BGA 풋프린트를 선택하고 PCB의 중간 레이어에서 파워 레일을 실행하고, 정말로 우려할 만한 이유가 있는 경우 위아래 구리 평면이 있는 PCB 중간 레이어에 IC를 내장하고 스티칭을 통해 사용하세요. 결국 나쁜 놈이 파워 레일에 도달하지 못하면 차동 전력 분석을 쉽게 수행할 수 없습니다.

    또는 이 해킹에 취약하지 않은 하드웨어 기반 보안 코어를 사용합니다(여전히 해킹 가능함). 엔지니어는 이 취약점에 대해 알고 다양한 방법으로 이에 대한 설계를 합니다. 예를 들어, Silicon Labs Wireless Gecko Series 2에는 통합 보안 코어가 있으며 Microchip은 설계에 사용할 수 있는 암호화 모듈을 포함하여 보안 IC 제품군을 만듭니다.

    중간자 공격

    여러 가지 메시지 가로채기(Man-in-the-Middle) 공격이 있습니다. 이 문서는 "Invalid Curve Attack"에 대해 설명합니다. 다음에 나오는 더 간단한 가상의 예는 하나의 가능한 공격 벡터일 뿐입니다.

    "MyTunes"라는 Bluetooth 스피커를 통해 컴퓨터에서 음악을 재생하면 데이터가 컴퓨터에서 스피커로 직접 이동합니다. 그러나 컴퓨터를 "AllAboutCircuits.com"이라는 외부 웹 사이트에 연결할 때 컴퓨터가 "AllAboutCircuits"라는 다른 컴퓨터에 직접 연결되지 않는다는 사실을 인지하거나 알지 못할 수 있습니다.

    가장 먼저 발생하는 일은 컴퓨터가 라우터에 연결하고 라우터가 AllAboutCircuits.com이라는 이름을 IPV4 또는 IPV6 주소(104.20.234.39)로 변환하는 DNS(Domain Name Server)에 연결하는 것입니다. 이는 일반적으로 빠르게 발생하며 데이터는 향후 탐색 속도를 높이기 위해 로컬에 저장됩니다.

    Windows 10 PC의 AllAboutCircuits.com에 대한 DNS 항목

    그런 다음 데이터는 IP 주소가 104.20.234.39와 일치하는 컴퓨터로 전환하기 위해 컴퓨터에서 라우터, 게이트웨이로 바운스됩니다. 홉 수는 웹사이트와 위치에 따라 다릅니다. 각 위치에서 컴퓨터가 보안되지 않으면 데이터가 가로채거나 트래픽이 리디렉션되거나 완전히 다른 작업이 수행될 수 있습니다.

    이 경로 추적은 내 노트북에서 AllAboutCircuits.com 웹사이트까지의 모든 "홉"을 보여줍니다.

    중간자 공격 설정

    메시지 가로채기 공격이 발생할 수 있는 방법은 다양합니다. 한 가지 유형의 공격만 고려하십시오.

    ThisPersonDoesNotExist.com의 "Bob" 이미지

    Bob은 멋진 새 무선 라우터를 샀습니다. 그는 장난감을 집에 가져와 홈 네트워크에 연결합니다. 그리고 새 장난감에 너무 많은 돈을 쓰지 않았는지 확인하기 위해 컴퓨터에서 은행 계좌 잔고를 확인합니다.

    ThisPersonDoesNotExist.com의 "Mallory" 이미지

    말로리는 해커입니다. 그녀는 웹사이트 shodan.io(또는 이와 유사한 것)를 사용하여 인터넷에 있는 라우터, 웹캠, Raspberry Pi 또는 IoT 장치를 식별하고 Bob의 새 라우터를 보고 이제 새 장난감도 갖게 되었기 때문에 웃으면서 위협적으로 손을 비볐습니다.

    Mallory는 모든 장치와 함께 제공되는 기본 사용자 이름/비밀번호(admin/default, admin/admin, admin/password 등)를 사용합니다. 대부분의 제조업체는 모든 장치에 대해 동일한 사용자 이름/비밀번호를 사용하며 대부분의 사람들은 변경을 귀찮게 하지 않으므로 하나 이상의 진입점을 찾는 데 많은 시간이 걸리지 않습니다. Mallory는 단순히 장치에 로그인하고 자신의 펌웨어로 플래시한 다음 DNS 서버를 자신이 선택한 DNS 서버로 변경합니다.

    그녀가 할 수 있는 이유:

    <울>
  • 제조업체는 모든 기기에서 동일한 사용자 이름/비밀번호를 게으르게 사용합니다.
  • 최종 사용자는 압도적으로 기본 비밀번호를 변경하지 않습니다.
  • 기기 제조업체는 서명된 펌웨어를 요구하지 않거나 개인 키가 손상되어 야생 상태에 있습니다.
  • 이제 Mallory는 개인 네트워크에 액세스할 수 있습니다. 그녀는 더 이상 웹에서 해커가 아니며 이제 Bob의 개인 홈 네트워크에 있으며 데이터가 앞뒤로 이동하는 것을 볼 수 있습니다. 데이터가 암호화되어 있어 데이터가 무엇인지 알 수는 없지만 Bob이 ThisBankDoesNotExist.com(123.123.123.123)을 꽤 자주 방문하고 로그인하는 것을 볼 수 있으므로 ThisBankDoesNotExist.com의 로그인 페이지를 픽셀 단위로 완벽하게 복사한 Bob입니다.

    그런 다음 Mallory는 ThisBankDoesNotExist.com에 대한 Bob의 DNS 항목을 (123.45.67.89)

    로 변경합니다.

    공격

    Bob은 ThisBankDoesNotExist.com으로 이동합니다. 그는 도메인 이름 앞에 https://를 입력하는 것을 귀찮게 하지 않으며 Mallory의 해킹을 통해 올바른 컴퓨터에 연결하지 않고 http://ThisBankDoesNotExist.com에 있으므로 인증서 경고가 표시되지 않습니다.

    Bob은 이것에 대해 전혀 모릅니다. 그는 픽셀 완벽한 사본을 보고 Mallory의 컴퓨터에 사용자 이름/비밀번호를 입력하고 예상한 대로 계정 정보가 나타납니다.

    지금을 제외하고 Mallory는 모든 거래, 승인된 모든 계정 소유자, 심지어 Bob이 그의 계정 정보를 보호하기 위해 사용하는 매우 복잡한 사용자 이름/비밀번호(bob/letmein)까지 모든 것을 볼 수 있습니다.

    해킹의 여파

    거의 모든 웹 사이트는 종단 간 암호화를 사용합니다. 즉, Bob의 컴퓨터와 Bank 컴퓨터에서만 데이터를 해독할 수 있습니다. 말로리는 새로운 끝점을 도입했습니다. Bob의 트래픽은 그의 컴퓨터에서 인코딩되고 Mallory의 컴퓨터에서 디코딩됩니다. 그런 다음 데이터는 말로리의 컴퓨터에서 다시 인코딩되고 은행 컴퓨터에서 디코딩됩니다. 이것은 여전히 ​​Bob과 Bank 모두에게 종단 간 암호화로 나타납니다.

    그러나 중간 끝점이 있습니다. 바로 말로리의 컴퓨터입니다. Mallory는 Bob의 병원 기록, 이메일 등을 찾기 위해 동일한 트릭을 수행할 수 있습니다.

    임베디드 시스템 보안 방법

    기기를 안전하게 보호하는 가장 쉬운 방법은 제품을 해킹하기 어렵게 만드는 것입니다.

    저항에 부딪히면 해커가 다음 대상으로 이동할 가능성이 있습니다. 반면에 개인이나 소규모 기업이 국가적 해킹을 예방하기는 어렵다. 다행스럽게도 많은 "해커"는 새로운 공격을 개발하고 문제가 발생했을 때 해결할 수 있는 전문 지식이 부족한 "스크립트 키디"에 불과합니다. 기기에 대한 YouTube 동영상과 GitHub가 없으면 무엇을 해야 할지 모르고 계속 진행할 것입니다.

    또한 장치 보안에 대해 자세히 알아보려면 마이크로칩 공급업체에 문의하십시오. Microchip과 Silicon Lab은 모두 이 기사 시리즈에서 두 회사 모두 엔지니어를 인터뷰 대상으로 삼았기 때문에 이 기사 시리즈에서 두드러지게 등장했습니다.

    IoT 장치를 설계하는 경우 부주의한 엔지니어링 및 프로그래밍 관행으로 인해 고객이 생명을 잃을 가능성을 줄이기 위해 할 수 있는 몇 가지 방법이 있습니다.

    위에서 언급한 생각 외에도 다음 추가 단계를 고려하십시오.

    <올>
  • 펌웨어 인증(보안 부팅이라고도 함)을 지원하는 마이크로컨트롤러 및 도구 모음으로 설계합니다. 올바르게 서명된 디지털 펌웨어만 마이크로컨트롤러에서 실행되며 개인 키만 알 수 있습니다. Silicon Labs와 Microchip(및 기타 공급업체) 모두 보안 부팅을 지원하는 마이크로컨트롤러를 보유하고 있습니다.
  • 가능한 경우 보안 디버그 기능이 있는 마이크로컨트롤러를 사용합니다. 이러한 해킹 중 일부는 해커가 호스트 마이크로컨트롤러에서 데이터를 주입 및 검색하고 이를 사용하여 마이크로컨트롤러 패키지 내부에서 일어나는 일을 결정할 수 있기 때문에 가능합니다. 데이터가 스크램블되거나 전혀 나오지 않으면 좌절하고 넘어갈 것입니다. 다시 말하지만, Silicon Labs와 Microchip(및 기타 공급업체)에는 이러한 기능이 있습니다.
  • 보안에 대해 읽기 , 전문가에게 질문하고 장치 제조업체의 애플리케이션 엔지니어에게 설계를 보내 제안된 보안 계획, 보드 레이아웃 등에 대한 피드백을 받습니다.
  • 기기가 변조된 경우 변조 방지 기술을 사용하여 메모리에서 개인 키를 지웁니다. <울>
  • TE Connectivity는 PCB 전체를 감쌀 수 있는 압전 필름 시트를 만듭니다. 시트가 절단, 방해, 녹는 등의 경우 변조 상태를 나타내는 전압이 생성됩니다.
  • 용량성 또는 유도성 센서(예:TI의 센서)를 사용하여 프로젝트 인클로저가 열렸을 때 감지하거나 홀 효과 센서를 사용하여 케이스 나사가 회전할 때 감지합니다.
  • 기기가 첫 번째 고객의 손에 들어왔을 때 이미 기기가 손상되었다고 가정합니다. 전체 프로젝트에 영향을 미치지 않으면서 하나 이상의 개별 장치가 손상될 수 있도록 하는 프로젝트 보안 청사진을 만드십시오.
  • 이 기사 시리즈는 보안에 대한 단순한 소개였습니다. 모든 사람에게 안전한 IoT를 만드는 것은 엔지니어의 책임입니다.


    사물 인터넷 기술

    1. 의료의 IoT:알아야 할 사항
    2. 산업용 IoT의 보안 취약점 해결
    3. 산업용 IoT 보안은 하드웨어를 기반으로 합니다.
    4. 작동하는 관리형 IoT 생태계를 찾아서
    5. 네트워크 사업자가 IoT 보안에 대해 해야 할 세 가지 질문
    6. 5G의 상용화에 도전하는 것은 코로나19가 아니라 보안입니다.
    7. 산업 자동화 보안이 새롭게 초점이 되어야 하는 이유
    8. 알아야 할 7가지 React 라이브러리
    9. 보안 향상을 위해 모든 IoT 제조업체가 해야 할 세 가지
    10. 제어판 디자인 기본