2024. 5. 10. 16:14ㆍSWU_프로젝트
주제 선정이유
FTP란? (의미, 원리, 취약한 이유)
프로젝트 진행 현황
프로젝트 진행 방향
프로젝트 과제
📌주제 선정 이유
저희 팀은 주제선정시 가장 우선시 했던 부분이 1,2학년 모두에게 의미있는 주제이면서, 이제 막 공부를 시작한 1학년 친구들에게 너무 어렵고, 이해하기 힘든데 해내야하는 것이 아닌, 하고 나서도 배우는 것이 있고 , 현재 하고 있는 학습들과 접목된 것이어서 남는 것이 있는 프로젝트를 주제를 정하는 것이었습니다.
프로젝트 의의에 맞게 파이썬을 이용하면서도 신입 1학년 친구들도 어렵지 않게 따라할 수 있고, 짧은 시간 대비 결과물도 남는 주제를 정하고 싶어서 해당 주제를 선정했습니다.
또한 해당 실습은 파이썬 코드를 이용하지만, 가상머신 (칼리리눅스) 을 이용하기 때문에 현재 칼리 리눅스를 처음 학습하는 1학년들에게도 좀더 리눅스 환경을 접해볼 수 있는 경험을 주는 기회라고 여겼습니다.
📌 FTP의 의미
FTP란 파일 전송 프로토콜(File Transfer Protocol)의 약자입니다.
기본적으로 '프로토콜' 또는 인터넷 프로토콜은 전자기기가 서로 통신하는 데 필요한 절차나 규칙을 말합니다.
FTP는 TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규칙입니다.
인터넷을 사용할 때 우리는 다양한 프로토콜을 사용합니다. 인터넷을 둘러볼 때는 HTTP를 사용하고, 인스턴트 메시지를 주고받을 때는 XMPP를 사용하는데, 간단히 말해 FTP는 파일을 이동할 때 사용하는 프로토콜입니다.
📌 FTP의 원리 (참고)
FTP는 클라이언트-서버 프로토콜입니다.
즉, 클라이언트가 파일을 요청하면 서버가 요청된 파일을 제공하죠. 그래서 FTP 프로토콜 연결을 설정하려면 두 개의 기본 채널이 필요합니다.
- 명령 채널: 명령을 시작해 어떤 파일에 액세스할 것인지 등과 같은 기본 정보를 전달합니다.
- 데이터 채널: 두 장치 간에 파일 데이터를 전송합니다.
연결을 설정하려면 사용자가 FTP 서버 로그인 정보를 제공해야 하는데, 일반적으로는 21번 포트를 기본 통신 모드로 사용합니다.
'포트'란 아주 간단히 설명하면 네트워크를 통한 정보 트랜잭션을 식별하는 데 사용되는 번호를 말합니다.
FTP의 연결 모드에는 능동 모드, 수동 모드 2가지가 있습니다.
능동 FTP 모드에서는 서버가 데이터 요청을 승인하는 능동적인 역할을 합니다. 하지만 능동 모드에서는 방화벽으로 인한 문제가 종종 발생합니다. 제삼자가 권한이 없는 세션에 액세스하려고 하면 해당 세션이 차단됩니다.
수동 모드가 역량을 발휘하는 순간이 바로 이때입니다. 수동 모드에서는 서버가 능동적으로 연결을 유지하지 않습니다.
즉, 사용자가 데이터 채널과 명령 채널 모두를 설정하고, 서버는 기본적으로 '듣기만' 할 뿐, 능동적으로 관여하지 않음으로써 다른 장치가 대부분의 작업을 처리하도록 합니다.
FTP의 가장 치명적인 단점은 바로 보안이 취약하다는 것입니다.
FTP는 1970년대에 개발되었습니다. 오늘날 우리가 사용하는 대부분의 사이버 보안 조치보다 먼저 개발되었습니다.
또한, 보안 프로토콜로 설계된 것이 아니기 때문에 FTP 전송은 암호화되지 않습니다.
그래서 데이터 패킷을 캡처하려는 해커들이 패킷 캡처 공격을 통해 비교적 쉽게 비밀번호, 사용자 이름, 그 외 기타 민감한 데이터를 읽을 수 있습니다.
이러한 부분을 이용해 FTP공격이 일어나고 있고, 실제로 해당 취약점을 이용한 도구를 개발하고 실습하며 어떠한 과정으로 FTP무작위 대입 공격이 일어나는지 살펴보고자합니다.
📌 프로젝트 진행 현황 및 앞으로의 진행 방향
지난 주차에는 각자 FTP관련 사전지식을 습득해보고 실습영상을 보며 이해해오는 시간을 가졌고, 이번주차는 모두 각자 해당 내용을 실습하는 과정을 거칠 예정입니다.
우선 저희팀은 FTP와 관련된 실습을 모두 처음해보는 것이기 때문에, 간단하게 구현하면서 FTP에 대해 이해할 수 있는 해당 실습을 1차적으로 진행할 예정입니다.
https://youtu.be/dgRHQypLt2I?si=7dECSUPMxKZhcboY
해당 영상은 FTP 익명 연결 검색 프로그램을 간단히 구현해보는 것인데 이를 통해 FTP가 어떤식으로 동작하는 지 살펴볼 수 있도록 구성되어있습니다.
이후 FTP무작위 대입공격 관련 실습 영상을 통해 모두가 각자 실습하여 , 보고서를 작성하는 것을 목표로합니다.
모두에게 공부가 되고 의미있는 프로젝트가 되어야하기때문에 해당 내용을 모두 실습하고 코드를 공부하고 원리를 이해해보면서 , 이해가 가지않거나 잘 진행되지않는 부분들을 팀원들과 함께 의논하며 프로젝트를 진행할 것입니다.
15일 수요일까지 모두 실습을 진행해보고 한명이상의 팀원이 성공한다면 해당 내용으로 프로젝트 발표를 준비할 것이고, 실패한 원인들을 분석하는 시간을 가질 것입니다.
만약 해당날짜까지 한명의 팀원도 성공하지 못할 시에는 FTP와 관련된 논문을 분석하여 발표하는 것을 2안으로 두었습니다.
( 15일 이후 주말까지 논문 분석 및 발표자료를 만들 계획 )
[ 2안으로 두고 있는 논문 ]
📌 프로젝트 과제
- 프로젝트 시작 1주차 : FTP와 관련된 사전 지식 습득 (실습영상보고 분석해보기, FTP가 무엇인지 알아오기 등)
- 프로젝트 시작 2주차 : FTP 관련된 사전 실습 + 해당 실습 진행하고 보고서 작성하기 & 회의 진행하기 + 발표준비 (발표자 : 대본 , 발표자 이외 : ppt만들기)
- 프로젝트 시작 3주차 : 프로젝트 발표하기
감사합니다 :)
[ 참고 자료 ]
FTP란?
FTP는 유용한 파일 전송 방식이지만, 그보다 더 간단하게 파일 전송 문제를 해결하는 솔루션도 있습니다. FTP란 무엇이고, FTP의 대안으로 Dropbox를 사용할 때의 이점은 무엇인지 알아보세요.
experience.dropbox.com
'SWU_프로젝트' 카테고리의 다른 글
1팀_파이썬 보안프로젝트 [ FTP 무작위 대입 공격 도구 만들기 ] -2주차(개인 과제) (0) | 2024.05.14 |
---|---|
1팀_파이썬 보안프로젝트 [ FTP 무작위 대입 공격 도구 만들기 ] -2주차 (0) | 2024.05.13 |