BlogĐịnh hướng nghiên cứu chuyên sâu an ninh viễn thông: lộ trình đa bề mặt & danh sách repo GitHub
Bố cục bài viết
Trang này
Ngày tạo
08/10/2026
Cập nhật
Lượt xem
10
Đọc
5m
Bối cảnh
Bài này tổng hợp lộ trình nghiên cứu an ninh viễn thông theo từng bề mặt tấn công (attack surface), kèm danh sách repo GitHub đã kiểm chứng cho từng mảng. Phù hợp để dùng làm bản đồ tham chiếu khi dựng lab riêng (PLMN thử nghiệm, ví dụ 001/01) và mở rộng dần từ IMS/SMS over IP sang NAS/RRC, core network, SIM và RF.
Lộ trình theo bề mặt tấn công
Track 1 — IMS / VoLTE / SMS over IP
Phạm vi: SIP REGISTER/INVITE, P/I/S-CSCF, HSS/ISIM auth (AKA), SMS over IP (SIP MESSAGE hoặc SMSoIP qua NAS).
- Core: Open5GS (HSS, PCRF) + Kamailio hoặc OpenIMS core cho P/S/I-CSCF.
- Bắt gói: Wireshark với dissector SIP/Diameter/NAS;
tsharklọc theo IMSI/IMPI. - Debug trên thiết bị: SCAT để lấy log diag — với máy dùng chip Exynos/Shannon, đây là lựa chọn đúng thay vì QCSuper (vốn cho Qualcomm).
- Trình tự gỡ lỗi khi UE không REGISTER được: (1) PDN IMS có cấp đúng APN không, (2) P-CSCF discovery qua DHCP/PCO có trả đúng không, (3) ISIM/USIM có IMPI/IMPU hợp lệ không (dùng pySim để đọc/ghi), (4) SIP REGISTER có rời được modem không trước khi nghi ngờ phía core.
- Tài liệu nền: 3GPP TS 24.229, TS 23.228.
Track 2 — NAS / RRC signaling
Phạm vi: Attach/Registration, Authentication (AKA), Security Mode Command, mobility.
pycrateđể tự giải mã/encode NAS EMM/5GMM, RRC.- srsRAN hoặc UERANSIM để kiểm soát toàn bộ eNB/gNB, chèn/sửa bản tin NAS.
- Hướng nghiên cứu: downgrade attack (ép UE về 2G/3G), NAS replay, bỏ qua integrity protection khi Security Mode Command bị giả mạo.
Track 3 — Core network & interconnect (EPC/5GC, SS7, Diameter)
Phạm vi: HSS/UDM, MME/AMF, S1AP/NGAP, GTP-U/GTP-C, và SS7/Diameter liên mạng nếu mở rộng ra ngoài lab.
- Open5GS/free5gc để đọc code từng NF, test GTP tunnel spoofing trong lab.
- SigPloit chỉ nên chạy trong lab cô lập hoàn toàn, không bao giờ trỏ vào hạ tầng thật.
- Hướng nghiên cứu: GTP-U không xác thực, Diameter spoofing (S6a), location tracking qua SS7.
Track 4 — SIM / USIM / ISIM / eSIM
- pySim để đọc/ghi applet, phân tích file hệ thống theo TS 31.102/31.103 cho ISIM.
- Hướng nghiên cứu: OTA SIM attack (dạng Simjacker), downgrade AKA, kiểm tra cấu hình IMPI/IMPU gây lỗi REGISTER.
Track 5 — RF / physical layer, rogue base station & phát hiện
- Cần SDR (USRP/bladeRF/LimeSDR) nếu làm phần phát sóng thật.
- Rayhunter (EFF) để học nguyên lý phát hiện IMSI catcher, đối chiếu ngược xem lab có phát dấu hiệu bất thường (null cipher, cell reselection ép buộc) không.
Track 6 — Fuzzing & kiểm chứng hình thức
- Chọn một interface cụ thể (NAS hoặc RRC), dùng boofuzz hoặc viết harness riêng trên pycrate để sinh bản tin malformed, theo dõi crash qua diag log.
- Tham khảo artifact của các nghiên cứu công bố (xem mục repo bên dưới) để học phương pháp trước khi tự viết.
Gợi ý trình tự
- Hoàn thiện Track 1 (IMS) trước — đây là nền để hiểu toàn bộ luồng auth/signaling.
- Khi IMS chạy được, học sâu NAS/RRC (Track 2) bằng cách so sánh log thật đã có với decode của pycrate.
- Mở rộng song song sang core/interconnect (Track 3) và SIM (Track 4).
- RF (Track 5) và fuzzing (Track 6) để sau cùng, khi đã tích luỹ đủ hạ tầng và kỹ năng.
Lưu ý phạm vi: mọi test (đặc biệt SigPloit, fuzzing, RF) chỉ nên chạy trong PLMN thử nghiệm cô lập — không kết nối ra mạng thật hoặc SIM thuê bao thật, vì một số kỹ thuật (SS7, Diameter, OTA SIM) có thể ảnh hưởng người dùng thật nếu rò rỉ ra ngoài lab.
Danh sách repo GitHub theo chủ đề
Danh sách tổng hợp (awesome-list)
W00t3k/Awesome-Cellular-Hacking— danh sách lớn, cập nhật thường xuyên, nhiều papers/tools/CVE/rogue BTS.dcorujo/awesome-telco(và forkdavidrupprecht/awesome-telco) — tổng hợp theo lớp RAN/Core/SIM.ravens/awesome-telco— có hướng dẫn dựng 5G Core + RAN giả lập từng bước.
RAN & Core network
open5gs/open5gs— EPC/5GC.free5gc/free5gc— 5GC viết bằng Go.srsran/srsRAN_4G,srsran/srsRAN_Project— RAN mã nguồn mở.- OpenAirInterface (GitLab EURECOM) — stack 4G/5G đầy đủ.
aligungr/UERANSIM— giả lập UE/gNB cho 5G NAS/NGAP.magma/magma— core network Linux Foundation.P1sec/corenet— core 3G/LTE tối giản trên pycrate.osmocom/osmo-*(osmo-bts, osmo-msc, osmo-hlr…) — stack 2G/3G mở.
Lỗ hổng đã công bố / fuzzing framework
FICS/asnfuzzgen— công cụ fuzzing dùng trong nghiên cứu RANsacked (119 lỗ hổng, 97 CVE, trên 7 triển khai LTE và 3 triển khai 5G, công bố 1/2025).jtpereyda/boofuzz— framework fuzz giao thức mạng tổng quát.- Tìm thêm theo tên bài báo: 5GReasoner, LTEInspector, 5GBaseChecker, 5Ghoul/Sni5Gect.
IMS / SIP / VoLTE / SMS over IP
kamailio/kamailio— SIP server, có module IMS (P/I/S-CSCF).signalwire/freeswitch,OpenSIPS/opensips— proxy/softswitch SIP thay thế.P1sec/pycrate— encode/decode SIP/NAS/Diameter theo chuẩn 3GPP.
SIM / USIM / ISIM / eSIM
osmocom/pysim— đọc/ghi SIM.- SIMtester (trong awesome-telco) — đánh giá bề mặt tấn công cryptanalytic và applet.
- Known eSIM Test Profiles (trong awesome-telco) — profile test cho eSIM/eUICC.
Diag / baseband capture
fgsect/scat— parser diag cho Qualcomm và Samsung Shannon.P1sec/QCSuper— cho thiết bị Qualcomm.mobile-insight/mobileinsight-core— phân tích bản tin điều khiển từ log modem.
Rogue base station / IMSI catcher
EFForg/rayhunter— phát hiện IMSI catcher trên thiết bị hotspot.Oros42/IMSI-catcher,CellularPrivacy/Android-IMSI-Catcher-Detector,ptrkrysik/gr-gsm— công cụ phát hiện/dựng IMSI catcher kinh điển.
SS7 / Diameter
SigPloiter/SigPloit— framework test SS7/GTP/Diameter/SCCP, chỉ chạy trong lab cô lập.