해커들은 피해자 PC에 초기 침투하기 위해 ▲어플리케이션 취약점 공격 ▲악성메일 ▲웹사이트에 특정 페이지에 악성코드를 심어두는 '워터링홀' 등 잘 알려진 공격기법을 주로 활용한다.
그 중 가장 많이 이용한 것은 '어플리케이션 취약점' 공격이다. MS익스체인지·오라클 웹로직·아파치 등 응용 소프트웨어의 보안 정책에서의 결함이나 시스템 개발에서의 눈에 띄지 않는 취약점을 공격하는 방법이다.
현재는 널리 사용하고 있어 그만큼 보안이 중요 하지만 Tomcat의 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램 또는 특정한 데이터 조각을 사용한 공격 행위를 이르기도 한다.
이러한 취약점 공격(Exploit) 원인은 Tomcat의 디폴트 설정에 영향을 주며, 따라서 많은 서버들이 현재 취약점에 노출되어 있을 가능성이 높다. 사용자들이 디폴트 설정을 잘 바꾸지 않기 때문이다. 이 말은 많은 서버들이 현재 인터넷에 노출되어 있을 수 있다는 뜻이다.
최근에는 Tomcat의 취약점을 노린 공격이 증가하고 있다. 공격자가 취약점을 악용하여 취약한 서버에서 악성코드를 실행하고 제어권을 얻을 수 있다.
이런 취약점을 방치해둔 상태로 운영하게 된다면 취약점을 공격해 악성코드를 실행하여 악성코드 유포 및 운영 서버에 손상이 가해지거나 데이터가 약탈되는 등 다양한 취약점을 악용하는 사례가 늘어나고 있다.
예) 관리자 콘솔 취약점
- Tomcat은 Web 환경의 관리자 콘솔을 제공함.
- 관리자 콘솔이 외부로부터 침해되는 경우 Web에 관련된 모든 권한을 누출할 수 있으므로 관리에 주의해야 함.
- 관리자 인증을 위한 페이지가 쉽게 인지 가능하거나 유추로 인해 접근 되어지는 경우에는 취약함.
- 관리자 인증 시 사용하는 Username/Password가 암호화 되지 않은 원문(평문)으로 저장
(tomcat-users.xml) 되어 있어서 보안에 취약함.
|
예) tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui"/>
</tomcat-users>
|
Tomcat 관리자 콘솔의 로그인 시 사용하는 Username/Password는 "tomcat-users.xml" 파일에 암호화 되지 않는 원문인 평문으로 저장되어 있어서 보안에 그만큼 취약하다.
Tomcat 콘솔 로그인 화면에서 비밀번호를 먼저 입력하고 공백 없이 이어서 일회용 인증키를 입력해야 한다. 예를 들어, 비밀번호가 "tomcat" 이고, 일회용 인증키가 "195921" 이라면 "tomcat195921"으로 입력한다.
설령, Tomcat 콘솔 로그인 정보인 Username/Password가 유출 되어도 일회용 인증키 생성 주기가 30초면 30초 마다 일회용 인증키가 바뀌기 때문에 고정된 비밀번호와 결합하면 일회용 인증키 생성 주기 마다 새로운 비밀번호가 생성되기 때문에 고전적 방법인 주기적으로 Tomcat 관리자 콘솔의 비밀번호를 바꿀 필요가 없게 된다.
만약, 2-factor 인증 솔루션이 적용되어 있다면 비밀번호 입력란에 고정된 비밀번호만 입력하는 경우 비밀번호 뒤에 덧붙인 일회용 인증키를 유추할 수 없어서 Tomcat 관리자 콘솔에 로그인을 할 수 없게 된다.
위와 같은 방법은 단순하면서도 강력한 보안을 제공한다.
"아무 것도 하지 않으면 중간은 간다"는 건 오래된 말이고, 클라우드 시대에는 통하지 않는 말이다. 새로운 시대에는 새로운 보호 장치가 어울린다. 시스템과 인프라는 자꾸만 새 것으로 바뀌는데 왜 예전 것들을 부여잡고 있는지 각자가 스스로를 검토해야 할 때다.
결론은 "2차 인증을 도입했다"는 것이 아니라 기술 및 보안성 등 "어떤 2차 인증을 도입했느냐"가 관건이다.
"아무 것도 신뢰하지 않는다" = "아무도 믿지 마라" = "계속 검증하라"
앞으로 정보 보안의 흐름은 보안은 강화하고 사용자의 불편함을 최소화하는 방향으로, 기억할 필요가 없는 비밀번호! BaroPAM이 함께 하겠습니다.
'▶ BaroSolution > 기술문서' 카테고리의 다른 글
다중인증(MFA)에 대한 인식의 대전환이 필요 (0) | 2023.06.26 |
---|---|
보안강화를 위한 BaroPAM 솔루션의 3단계 인증이란? (0) | 2023.06.18 |
비밀번호를 매번 사용할 때마다 매번 변하거나 한번 사용하고 버리는 일회성/휘발성 같은 동적보안 솔루션으로 대체 했을 때 이점 (0) | 2023.05.20 |
BaroPAM 솔루션의 3단계 인증 체계란? (0) | 2023.05.04 |
FIDO(Fast Identity Online) 란? (0) | 2023.04.05 |