[기획기사] 3D 프린터의 보안 위협과 오픈소스 해결책
3D 프린터의 보안 위협과 오픈소스 해결책
- 이지현 IT전문기자(j.lee.reporter@gmail.com) -
한때 연구용으로만 활용되던 3D 프린터는 2010년대 이후부터 본격 대중화되며 업계 전반에서 퍼져있다. 시장조사업체 가트너는 2014년 3D 프린터 기술이 빠르게 진화하며 10년 안에 주류 기술로 편입할 수 있을 것이라 예상했는데 실제로 현재 의료, 건설, 교육 현장 등에서 활발하게 3D 프린터가 쓰이고 있다. 3D 프린터의 가격대는 수십만 원에서 수백만 원까지 천차만별로 쓰리디시스템즈(3D Systems), 스트라타시스(Stratasys), 프로토랩스(Protolabs) 같은 기업이 업계를 주도하고 있다. 덩달아 이제 상업용 3D 프린팅 기술뿐만 아니라 오픈소스 기반의 3D 프린터 기기와 소프트웨어도 늘어나고 있으며, 3D 프린팅 기술의 접근성은 더 높아지고 있다. 이렇게 확산되고 있는 3D 프린터 기술은 이제 ‘보안성’을 강조하고 있는데. 여기서 오픈소스 기술도 활용되고 있다.
하지만 암호화되지 않은 3D 프린터는 외부의 사이버 해커가 3D 렌더링 소프트웨어를 사용해 기본 구성을 손쉽게 재구성하여 출시되지도 않은 신제품에 대한 정보를 유출하거나 독점적인 정보를 빼돌릴 수 있는 위험성을 갖고 있다. 이뿐만 아니라 단순한 정보 유출에서 그치지 않고 경쟁업체가 경쟁사의 3D 모델을 다운로드 및 수정을 통해 새로운 모델을 업로드할 경우, 해당 제품을 구매한 소비자들은 결함을 지닌 제품을 인쇄하여 그 파장은 소비자 불만이나 기업신뢰도 하락으로 이어질 수 있게 되는 상황도 고려해야 할 것이다. 이처럼 3D 프린터 기술의 ‘보안성’은 필수불가결하다. 이 부분에서도 오픈소스 기술이 활용되고 있다.
해킹된 3D 인쇄 부품 손상 확인하는 3가지 방법
출처:조지아공대 논문
3D 프린터는 상용 기술과 오픈소스 기술 구분 없이 보안 문제를 가지고 있다. 3D 프린터는 기본적으로 네트워크 기술에 연결되어있고, 소프트웨어 및 펌웨어가 설치되어 있다. 또한 도면 파일을 끊임없이 입력하기 때문에 네트워크를 사용하게 되고, 자연스레 해커는 네트워크를 통해 3D 프린터 시스템에 침투하거나 바이러스를 심어둔 펌웨어나 도면 파일을 통해 3D 프린터를 망가뜨릴 수 있다. 이를 통해 민감한 데이터가 유출되거나 공정 속도가 늦어지기도 한다. 실제로 3D 프린팅 업계에서는 ‘dr0wned’라는 외부 공격으로 해커가 3D 프린터 부품 도면을 임의로 수정하고 완성품 품질에 악영향을 주는 사건이 있었다.
미 퍼듀대 공대의 진 장(Jing Zhang) 교수는 3D프린팅 인더스트리라는 언론 인터뷰를 통해 “3D 프린터와 관련된 보안성을 높이지 않을 경우, IP(지적재산권) 도난과 공정 프로세스가 파괴될 수 있다”라고 지적했다. 특히 IP는 클라우드 기반 파일 공유 시스템이나 이메일 서버가 해킹되면서 유출될 수 있으며, 3D 스캐닝 기술을 사용하여 만든 부품을 리버스 엔지니어링할 수 있다. 만약 해커의 최종 목표가 제품을 위조하는 것이고, 이를 막지 못한다면 기업은 크나큰 수익 손실로 이어질 수 있다는 것이 그의 설명이다.
일반적으로 3D 프린터의 보안성을 높이기 위해 암호화된 파일을 이용하거나 연결된 컴퓨터에 백신 프로그램을 설치해볼 수 있다. 상용 3D 프린터 하드웨어 및 솔루션에서는 자체적인 보안 기술을 지원하는데, 오픈소스 3D 프린팅 업계에서도 최근 보안성을 높이려는 움직임이 늘고 있다. 그중 원격(온라인)으로 자신이 사용하는 프린터에 접속해서 다양한 제어기능을 지원하는 3D프린터용 원격제어장치 옥토프린트(OctoPrint)가 있다. 옥토프린트는 오픈소스 기반의 3D 프린터 컨트롤러 애플리케이션으로 서로 연결된 프린터를 웹에서 쉽게 제어할 수 있도록 도와준다. 특히 사용자가 프린터 상태나 주요 기능을 원격으로 간편하게 조정할 수 있게 지원해 주는 것이 큰 특징이다.
옥토프린트는 이런 원격 제어에 보안성을 높이면서 외부 공격을 방어할 수 있는 기술을 내놓고 있다. 2018년 옥토프린트는 ‘옥토프린트의 안전한 원격 액세스 가이드’라는 문서를 공개하고 3D 프린터에서 보안 요소를 어떻게 강화할 수 있는지 제시했다. 여기서는 대부분 외부 플러그인을 활용해 보안성을 강화하고 인스턴스에 접속하는 방안을 제시하고 있다. 플러그인을 통한 원격 접속은 인스턴스에 액세스하고 프린터를 원격제어/모니터링하여 공개하지 않고도 원격 액세스를 수행할 수 있기 때문에 누구나 쉽게 이용할 수 있다는 장점이 있다. 현재 옥토프린트에 연결해 쓸 수 있는 플러그인은 다음과 같다.
옥토프린트 플러그인 종류 및 특징
출처: 3D프린팅 오픈소스 소프트웨어 보안취약점 분석 및 대체 소프트웨어에 대한 연구 논문
옥토프린트는 사용자가 충분한 전문 지식이 있는 경우 플러그인 외에도 VPN이나 프록시 서버를 이용해 보안성을 강화할 수 있다. 가령 파이VPN(PiVPN), 오픈VPN(OpenVPN)을 사용할 수 있으며, 라우터에 자체 내장된 VPN 서버를 활용해볼 수 있다. OpenCV는 원격 모니터링 기능 구현을 위한 이미지 처리 오픈소스로 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리로 실시간 이미지 프로세싱에 중점을 두었다. 제안 방식의 작업 흐름은 사용자가 PC에 영상 요청을 하게 되면 PC에 장착된 웹캠이 3D 프린터를 촬영하여 사용자에게 전송하는 방식이다. 네트워크 단독 통신 터널을 만들어 외부 사용자가 인터넷으로 옥토프린트 인스턴스에 접근하지 못하도록 막는 셈이다.
역방향 프록시를 사용하는 방법도 있다. 역방향 프록시는 하나 이상의 웹 서버 앞에 위치하여 클라이언트의 요청을 가로채는 서버이다. 이것은 프록시가 클라이언트 앞에 위치하는 정방향 프록시와 다르다. 역방향 프록시를 사용하면 클라이언트가 웹 사이트의 원본 서버에 요청을 보낼 때 역방향 프록시 서버가 네트워크 엣지에서 해당 요청을 가로챈다. 그런 다음 역방향 프록시 서버가 원본 서버에 요청을 보내고 응답을 받는다.
요약하면 정방향 프록시는 클라이언트 앞에 위치하며 원본 서버가 해당 특정 클라이언트와 직접 통신하지 못하도록 하는 것이다. 반면에 역방향 프록시는 원본 서버 앞에 위치하며 어떤 클라이언트도 원본 서버와 직접 통신하지 못하도록 한다.
역방향 프록시를 사용하면 웹 사이트 또는 서비스에서 원본 서버의 IP 주소를 공개할 필요가 없으며 이로 인해 DDoS 공격과 같은 공격들을 방어하여 보안, 성능, 안정성 등을 향상시킬 수 있다.
이때 주로 엔진X(nginx), 아파치, HAProxy와 같은 솔루션을 사용하여 역방향 프록시를 설정해볼 수 있다. 옥토프린트에 역방향 프록시를 사용할 때 인증 형식을 설정하는 것을 권장한다. 가장 간단한 방법으로 사용자 이름 및 암호를 확인하는 방식이다. 이때 입력 속도를 제한해 무차별 암호 추측 공격이 이뤄지는 것을 방지하기 위해 인증서 발급과 해지를 처리하기 위한 PKI(Public Key Infrastructure)를 설정해야 한다.
PKI는 '공개 키 기반' , 또는 '공개 키 인프라'라고 해석할 수가 있다. 디지털 인증서는 신분을 증명하고 특정 허용을 제공하는 신분증인 운전 면허증이나 여권과 유사한 목적을 수행한다. 디지털 인증서를 사용하면 소유자가 암호화, 서명 및 인증할 수 있다. 따라서 PKI는 데이터를 암호화하고, 문서에 디지털 서명을 하고, 인증서를 사용하여 자신을 인증할 수 있는 기술이다.
하지만 옥토프린트는 라즈베리 같은 개발 보드에 리눅스 환경으로 설치하는 소프트웨어로 일반적인 사용자가 다루기에는 관련 전문 지식의 부재로 쉽지 않다는 단점이 있다. 그럼에도 불구하고 기술의 발달과 더불어 인터넷이 연결된 기기들의 보급이 점차 확대되어 기기 보안을 통한 내부 데이터 보안의 중요성이 앞으로 매우 중요하며, 인터넷이 연결된 디지털기기들의 보안성 확립에 보다 많은 관심과 주의가 요구되는 시기가 도래한 것으로 보이므로 옥토프린트의 장단점을 고려하여 활용할 것을 권한다.
네트워크 보안 기술 업체 워치가드테크놀로지스의 CTO 코리 나크라이너(Corey Nachreiner)는 3D 도면 파일로 많이 쓰이는 G코드(G-code) 파일 형식의 보안성을 높이려는 업계의 노력이 필요하다는 목소리를 내기도 했다. G코드는 3D 프린팅 도구에서 활용되는 표준 프래그래밍 언어다. 코리 나크라이너는 “G코드 같은 오픈소스 파일을 위한 무결성 검증 및 보안 검증 기술은 부족하다. 과도기로서 현재 사용자가 직접 MD5나 SHA 체크썸 솔루션을 통해 파일의 무결성을 확인하며 보안성을 높일 수 있을 것”이라고 설명했다.
※ 참고자료
1) Gartner Says Consumer 3D Printing Is More Than Five Years Away, 2014년 8,https://www.gartner.com/en/newsroom/press-releases/2014-08-19-gartner-says-consumer-3d-printing-is-more-than-five-years-away
2) INTERVIEW: HOW TO COMBAT CYBERSECURITY RISKS IN THE 3D PRINTING INDUSTRY, 2021년6월, https://3dprintingindustry.com/news/interview-how-to-combat-cybersecurity-risks-in-the-3d-printing-industry-191466/
3) A Guide To Safe Remote Access of OctoPrint, 2018년9월, https://octoprint.org/blog/2018/09/03/safe-remote-access/
4) The security issues 3D printing should solve before going mainstream, 2018년 8월,https://www.helpnetsecurity.com/2018/08/08/security-issues-3d-printing/
5) Top 6 Open Source 3D Printers In 2023 https://printingatoms.com/3d-printers/open-source-3d-printer-designs/
6) 17 Best Open-Source free 3D Printing Software of 2021 https://medevel.com/17-best-3d-printing-open-source-software-of-2021/
7) https://manuscriptlink-society-file.s3-ap-northeast-1.amazonaws.com/kips/conference/2020fall/presentation/KIPS_C2020B0189.pdf
8) https://spectrum.ieee.org/defending-3d-printers-from-hackers
9) https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn=GTB2018004501#chatclose
번호 | 제목 | 작성자 | 조회수 | 작성 |
---|---|---|---|---|
공지 | [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file | support | 12000 | 2024-01-03 |
공지 | [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 9662 | 2024-01-03 |
공지 | [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 9600 | 2024-01-03 |
공지 | 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file | support | 22181 | 2022-07-28 |
공지 | 공개소프트웨어 연구개발 수행 가이드라인 file | OSS | 20619 | 2018-04-26 |
458 | [기획기사] 생성형 AI 시대, 새로운 전략 도구 오픈소스 | support | 7277 | 2023-06-26 |
457 | [기고] 생성형AI 개발도구 Copilot의 오픈소스 라이선스 위반과 저작권 분쟁 | support | 4506 | 2023-06-26 |
456 | [기획기사] APM 시각화 기술에 유용한 오픈소스 JUI | support | 1806 | 2023-05-25 |
455 | [기획] 오픈소스 APM 핀포인트 도입을 활용한 사례 소개 | support | 3375 | 2023-05-25 |
454 | [5월 월간브리핑] 서비스 운영관리에 필수적인 성능관리 오픈소스 솔루션 | support | 1968 | 2023-05-25 |
453 | [기획] 암호화폐와는 다른 오픈소스 NFT의 잠재력과 가능성 | support | 6274 | 2023-04-24 |
452 | [기획기사] NFT 업계의 오픈소스 활용 | support | 2448 | 2023-04-24 |
451 | [4월 월간브리핑] 오픈소스 NFT 최근 산업 동향 | support | 6868 | 2023-04-24 |
450 | [기획] 3D 프린팅을 위한 오픈소스 소프트웨어 | support | 4319 | 2023-03-27 |
449 | [기획기사] 3D 프린터의 보안 위협과 오픈소스 해결책 | support | 1730 | 2023-03-27 |
0개 댓글