개발자 / 보안 / 애플리케이션

안전한 자바를 위한 7단계 방안

Suan Pershke, Arc Seven Technology CSO  | Network World 2013.05.16

미국 국토안보부의 경고에 따라, 보안 전문가들은 자바 기반 취약점 공격에 대비해 기업 네트워크를 강화해야 한다.

운영체제에 독립적인 인기 프로그래밍 언어 자바(Java)는 컴퓨터, 휴대전화, 프린터, TV, DVD, 가정 방범 시스템, 자동 응답기, 네비게이션 시스템, 게임, 의료기기 등 상상할 수 있는 거의 모든 기기에서 사용된다.

미국 국토안보부의 CERT(Computer Emergency Readiness Team)은 자바와 관련한 여러 보안 지침들을 발행해 온 것에는 트위터(Twitter), 페이스북(Facebook), 애플(Apple), 마이크로소프트(Microsoft)와 같은 업체들을 상대로도 자바 기반의 취약점 공격이 성공한 것과 공격자가 원격으로 악성코드를 실행해 취약 시스템을 침투하는 '제로-데이(zero-day)'에 대한 지속적인 우려때문이다.

현재까지 내려온 그 보안 지침들에서, 국토안보부는 웹 브라우저에서 자바를 비활성화할 것을 추천했다.

이에 대응해 썬(Sun)을 인수하면서 자바를 보유하게 된 오라클(Oracle)은 수많은 패치와 몇몇 예정보다 이른 아웃-오브-밴드(out-of-band)를 공개했고, 최근 패치에선 자바 애플릿의 브라우저 간 조정 방법도 변경했다.

일반적으로, 잠재적 보안 위협 경고는 새로운 것도 아니고, 대부분의 네트워크 보안 관리자들은 이 상황을 일상적인 IT 환경으로 여긴다. 보통의 솔루션은 시스템 패치와 개발업체 지원 업데이트를 설치하고, 베스트 프랙티스를 위한 개발업체의 추천사항을 따르는 것이다.

그러나 이번 사례에서처럼, 제품을 비활성화하거나 삭제하라는 조언이, 개발업체도 아니고 정부기관과 기타 서드파티에서 나왔다는 점은, 조직들에게 이전과는 다른 도전 과제가 된다.

그래서 자신의 네트워크를 자바 기반 취약점 공격으로부터 보호할 수 있는 일곱가지 방안을 소개한다.

자바가 워낙 널리 쓰이기 때문에, 대부분 조직들에서 완전히 자바를 없애는 것은 아마도 생각할 수 없는 조치일 것이다.

그러나 여기 일곱 단계 행동 계획을 준수하면, 완벽한 보안을 보장할 순 없지만, 최소한 보안 의식을 고취하고, 시스템을 단단히 하며, 공격할 수 있는 구멍을 줄임으로써 위협을 최소화하는데 도움이 될 것이다.

1. 충격 분석을 수행하라
우선 조직 내외에서 자바가 어떻게 쓰이고 있는지 알아내는 것이 좋은 첫걸음이다. 자신의 조직이 개발업체, 클라이언트 혹은 일반 대중에 의해 접속가능한 자바 의존적 애플리케이션을 제공하는가?

미리 자바 사용에 제한을 걸어두지 않았다면 대부분의 인터넷 브라우저에서 운영체제의 일부와 여러 인기 애플리케이션 내에서 자바를 찾을 수 있을 것이다.

그리고 수많은 상용화된 소프트웨어 애플리케이션과 오픈 소스 소프트웨어 애플리케이션들이 자바 플랫폼 위에 구축되어 있기 때문에 인기 애플리케이션의 자바가 아마도 가장 큰 미지수가 될 것이다.

해당 앱이 비즈니스에서 중요한 역할을 맡고 있는가? 자바 기반 앱과 플랫폼에 대한 조직의 의존도를 파악하는 일은 위험 제어의 필수적인 전제조건이다.

2. 자바를 항상 업데이트하고 최신 패치를 설치하라
모든 컴퓨터와 기기들을 최신 버전의 자바로 업데이트하는 것은 그 무엇보다도 중요하다. 오라클은 오직 최신 버전만 지원하기 때문에, 이전 버전에선 보안 패치 사용이 불가능하다.

코드 인젝션(code injection) 위험을 줄이기 위해서는, 오라클로부터 직접 업데이트를 받아야 한다. 또한 단순 최신 버전 설치가 꼭 구버전을 삭제하지는 않기 때문에, 구 버전의 자바를 수동으로 삭제하는 것 또한 중요한 절차다.

자바 기반 앱의 활용을 필요할 때만 시작하고 그렇지 않을 때는 꺼둘 수 있는 가상 기기상으로 제한하는 방안을 고려하자.

또한 몇몇 애플리케이션들은 이전 버전의 자바를 사용한다는 점과 이런 일이 최신 버전 업데이트 이후에 발생할 수 있다는 점을 명심해야 한다.

만약 자사의 앱이 구형 버전의 자바에 의존한다면, 이는 훨씬 큰 보안 위험이 되기 때문에 관련된 모든 구형 앱들을 업데이트하거나 교체해야 한다.

3. 자바 제어판 설정을 관리하라
윈도우와 맥 클라이언트 모두에서 사용가능한 자바 제어판(Java Control Panel)에서는 수많은 설정이 가능하다. 제어판을 통해 업데이트 자동화에서부터 보안 설정 관리에 이르기까지, 자바가 어떻게 클라이언트 컴퓨터상에서 구성되는 지를 세분화해 제어할 수 있다.

자동 업데이트는 최신 업데이트를 알려주거나 다운로드 하도록 구성할 수 있지만, 안타깝게도 기업 전반에 걸쳐 자동적으로 업데이트를 설치하는 기능은 현재로썬 없다. 이는 최신 업데이트 적용을 위해 항상 수동 조작이 필요하다는 의미다.

자바 버전 7의 몇몇 마지막 업데이트들은 보안 설정에 있어서 자동적으로 '하이(high)' 보안 설정을 사용하도록 설정되어 있어, 언사인드(unsigned) 혹은 셀프-사인드(self-signed) 애플릿을 실행하기 앞서 사용자에게 상기시켜 준다.

이는 기본 보안 설정이 '미디엄(medium)'으로 되어있던 근래 버전들과의 차이점이다. 자바 제어판에서, 자바를 사용하지 않을 경우 이를 비활성화시킬 수도 있지만, 자바를 재활성화 시킬 때 프롬프트 없이 언사인드와 셀프사인드 애플릿이 허용되어 버린다는 보고도 있다.

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.