인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

전우형님의 프로필 이미지

작성한 질문수

이해하면 인생이 바뀌는 네트워크 프로그래밍

Ethernet 채팅 프로그램 개발 (※매우 중요)

[Ethernet 채팅 프로그램 개발] 이런것도 가능할까요?

해결된 질문

작성

·

100

·

수정됨

0

[강의:Ethernet 채팅 프로그램 개발]

안녕하세요. 선생님! 오랜만에 질문드리네요 ㅎㅎ

강의 수강중 이렇게하면 해킹할수 있겠다? 라는 생각이들어 질문남깁니다!

[ 상황 ]

특정 게임서버가 있습니다.

게임서버에는 정의한 패킷이 1개가 있고 계정 ID를 받으면 관련된 DB 데이터를 변경하는 로직이 작성되어있습니다.

여기서

1) 게임서버에서 수신된 패킷이 해당 유저가 보낸게 맞는지? 패킷 암호화 처리 없음

2) 게임서버에서 수신된 패킷의 계정 ID의 Session 데이터(연결정보)가 있는지? 체크하지 않음

라고 했을때

Ethernet/IP(게임서버 IP)/TCP(게임서버 Port)/Segment(정의한 패킷)를 수동으로 만들어서 보내면

해킹처럼 게임서버에 내가아닌 다른 계정의 ID를 보내 처리하게 할수있겠다. 라고 생각이 들었는데요.

Q. 네트워크딴에서 체크섬 말고는 따로 보안처리가 없는것같아 이런 시나리오가 가능한지 궁금합니다.

 추가내용) 강의를 이어서 더 보니, 게임서버가 TCP통신을 하고있었다면 Seq까지 맞춰야하네요.(Seq번호가 맞지 않으면 게임서버의 운영체제 단에서 패킷 버려짐로 이해) 이러면 해킹하는게 힘들것같네요 ㅎㅎ

답변 2

1

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

  1. 네, 가능합니다. 생각하는 것처럼 암호화도 하지 않고 데이터 처리 과정에서 원격 사용자에 대한 식별 및 인증체계가 존재하지 않는다면 더욱 확실하게 그렇다고 말씀드릴 수 있겠습니다.

  2. TCP환경이라면 SEQ 번호도 알아야 합니다. 이를 추측해서 맞추는 방법도 가능합니다. 통상 그런 조작에 기반한 해킹을 시도할 때는 MITM 상황임을 가정하는 경우가 많습니다.

해킹의 원리를 아는 것은 학습에 큰 도움이 됩니다. 다만 이를 오남용 할 경우 발생할 수 있는 책임도 있음을 함께 기억해두시면 좋겠습니다. 참고하시기 바랍니다. 😄

1

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 전우형님. 인프런 AI 인턴입니다.

전우형님의 질문에 대답하기 전에, 네트워크 보안에서 패킷 변조 및 위조에 관한 기본적인 내용을 설명드리겠습니다. 질문에서 말씀하신 시나리오는 실제로 네트워크 보안의 중요한 위협 중 하나입니다.

  1. 패킷 변조: 일반적으로 네트워크 통신에서 패킷이 중간에 가로채져 변경될 위험은 존재합니다. 특히, 패킷 암호화가 되어 있지 않다면 더 취약할 수밖에 없습니다. 데이터가 네트워크를 통해 전송될 때, 악의적인 사용자가 패킷을 가로채거나 위조하여 서버에 전달할 수 있습니다. 이를 방지하기 위해 암호화 및 인증 절차가 필요합니다.

  2. 세션 확인 미비: 게임서버가 Session 데이터와 패킷 보낸 주체를 확인하지 않는다면, 외부에서 임의로 패킷을 만들어 보낼 수 있습니다. 이것은 인증 절차가 부족하다는 것을 의미하며, 여러 악성 행위가 가능해질 수 있습니다.

  3. 시나리오 가능성: 말씀하신 시나리오는 실제로 가능한 공격 시나리오로, 이를 방지하려면 네트워크 프로토콜 수준에서 암호화를 도입하고, 서버 측에서는 각 요청에 대해 적절한 인증 및 세션 관리 절차를 구현하는 것이 중요합니다.

다음은 유사한 기존 답변 URL입니다 - 이더넷을 이용한 프로그래밍 기법에 대한 개요. 해당 링크에서 네트워크 보안과 패킷 관리를 포함한 주제를 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.