$Ringlet: netsec/txt/research.txt,v 1.2 2003/12/12 01:45:56 roam Exp $
1. Сигурна поддръжка и достъп до World-Wide Web
Да се опишат различните услуги и програми, използвани при създаване и
достъп до съдържание, разпространявано чрез World-Wide Web. Особено
внимание да се обърне на т.нар. active content от всички типове и
мерките, които се вземат и при сървъри, и при клиенти за
предотвратяване на пробиви в сигурността, предизвикани от active
content.
[тази тема в три варианта:
- разглеждане от клиентската страна - 1 човек
- разглеждане от сървърската страна - 1 човек
- разглеждане от двете страни - 2 души]
2. Сигурност при peer-to-peer реализации на file sharing
Да се опишат различните технологии за peer-to-peer file sharing
(Napster, Kazaa и др.) и възможностите за атаки върху тях - подмяна
на файлове, представяне на фалшиви "удостоверения за самоличност"
(credentials), неправомерен достъп до ресурси на клиентския компютър
(достъп до файловата система, изпълнение на код, ...) и други. Да се
опишат мерките за защита, взети от различните file sharing системи, и
възможностите за тяхното преодоляване.
3. Сигурност при реализации на file sharing от тип клиент-сървър
Да се опишат различните технологии за client-server file sharing
(NFS, SMB, NetWare, ...) и възможностите за атаки срещу тях - подмяна
на файлове, представяне на фалшиви "удостоверения за самоличност"
(credentials), неправомерен достъп до ресурси на клиента или сървъра
(достъп до файловата система, изпълнение на код, ...) и други. Да се
опишат мерките за защита, взети от различните file sharing системи, и
възможностите за тяхното преодоляване.
4. Сигурен достъп до Интернет в България
Да се разгледат различните методи за връзка с Интернет, предоставяни
от българските доставчици (dial-up, ISDN, наета линия, residential
LAN, ...). За всеки метод (евентуално и за различните доставчици,
когато има разлики в начина на предоставяне на услугата) да се опишат
възможностите на атакуващи лица, разположени на различни места (между
клиента и доставчика, физически близо до клиента, физически близо до
доставчика, споделен ресурс особено в случая на LAN и подобни, както
и други възможности според методите), да подслушват и/или подменят
трафика, както и да използват неправомерно ресурси на клиента или
доставчика с помощта на придобитата информация.
[тази тема в три варианта:
- разглеждане от страна на физическо лице - 1 човек
- разглеждане от страна на фирма - 1 човек
- разглеждане от двете страни - 2 души]
====================== Теми за софтуерни проекти
1. Бърз анализ на трафик, преминал през мрежа
Да се създаде инструмент, който допълва работата на tcpdump
или WinDump
, като взима за входни данни
файлове, съдържащи запис на преминал трафик (tcpdump -w), и прави
статистика за активността на всеки IP адрес, който е изпращал или
получавал пакети през това време. Статистикат да съдържа времето
(timestamp) на първия и последния изпратен/получен пакет, както и общия
размер на трафика, преминал през всеки IP адрес.
[това сигурно може да се формулира по-добре... в 2:42am не съм в
най-добрата си форма май :]
При избора на език за програмиране и използвани библиотеки да се поддържа
възможност за компилация на поне 3 различни класа операционни системи.
2. Детектор на ARP poisoning и ARP flood атаки
Да се напише програма, която следи трафика, пристигащ по един или повече
мрежови интерфейси, и открива вероятни опити за ARP poisoning и ARP flood
атаки. Според настройките (зададени в конфигурационен файл, но
поддържащи промяна на параметри чрез команден ред и/или текстов/графичен
интерфейс) програмата да може да работи в пасивен или активен режим: в
пасивен режим следи и изпраща предупреждения, в активен режим да може да
преустанови изпращането и получаването на мрежови трафик по атакуваните
интерфейси в зависимост от възможностите на операционната система.
[тук не ми се иска да подсказвам много, но имам предвид firewall и/или
събаряне на интерфейса down]
Да се предвиди възможност за изпращане на различни видове предупреждения:
системни журнални файлове (log files), известяване на един или повече
потребители, които използват компютъра, изпращане на съобщения чрез e-mail
и други.
[не знам как да го формулирам, но бонус, ако се напише нещо, което се
компилира и работи на повече от 2 класа операционни системи]
3. Добавяне на диагностични възможности към популярни софтуерни продукти
Да се разширят входните данни (команди, заявки) на един от изброените
по-долу програмни продукти по указания начин, като се предостави
възможност извършване на поне три от следните дейности:
- READ fname [start [end] [unit]]
четене на цял файл или на зададен фрагмент от него; незадължителните
параметри start и end (цели числа) задават съответно началото и края
на фрагмента, а unit (символ) задава единиците - 'l' за редове, 'c' или
'b' за символи/байтове, 'k' за килобайтове, 'm' за мегабайтове. Ако
start или end започват със знак '-', позицията се пресмята от текущия
край на файла.
- WRITE fname start unit truncf string
запис на последователност от байтове от определена позиция на файла
нататък. start и unit имат същото значение като при READ, truncf е
цяло число - ако е различно от нула, файлът трябва да бъде съкратен
(truncated) непосредствено до края на записания низ, т.е. записаните
символи да се окажат последните символи във файла.
- LIST dirname
извеждане на списък на файловете в дадената директория и информация за
тях във формат, зависещ от операционната система и използваните
библиотеки.
- EPLF dirname
извеждане на списък на файловете в дадената директория и информация за
тях във формат EPLF, описан от Prof. Daniel J. Bernstein на
.
- MLST dirname
извеждане на списък на файловете в дадена директория и информация за
тях във формат MLST, описан на
.
- EXEC progname [args...]
изпълнение на външна програма, като ако тя извежда данни на стандартния
изход, те трябва да бъдат предадени на клиента като отговор на
командата.
- EXSH [program-path]
изпълнение на интерактивен команден интерпретатор (command shell) (само
ако е приложимо за програмата). Всички данни, постъпили от клиента в
същата сесия, се предават на командния интерпретатор или на програмите,
изпълнени от него, като стандартен вход; всички данни, изведени от
командния интерпретатор или програмите, изпълнени от него, на
стандартния изход или стандартния изход за грешка, се предават на
клиента.
Програми:
- Sendmail SMTP server: добавяне на команда DBUG с първи параметър
командата и последващи евентуално параметри на командата;
пример: DBUG LIST /tmp
- qmail SMTP server (qmail-smtpd): аналогично;
- Microsoft Exchange 2000 или 2003 SMTP server: аналогично
[тук трябва някой, който се е занимавал с Exchange или нещо такова, или
поне знае къде може да се прочете, да каже дали това изобщо е възможно:
можеш ли да си напишеш модулче за Exchange, което да добави команда?]
- ProFTPd FTP server: аналогично добавяне на FTP команда DBUG;
- wu-ftpd FTP server: аналогично;
- Microsoft IIS FTP server: аналогично
[и тук някой, който си е играл с IIS/FTP, да каже дали може]
- Apache HTTP server: аналогично добавяне на HTTP(S) request type DBUG;
- thttpd HTTP server: аналогично;
- Boa HTTP server: аналогично;
- Microsoft IIS HTTP server: аналогично
[тук съм 95% сигурен, че е възможно, но все пак не напълно.. ISAPI май
дава доста възможности; дава ли възможност и за това?]
- BIND DNS server/resolving cache: специална обработка на заявки за
записи тип 'A' за top-level domain 'dbg'. Второто ниво на hostname е
командата, от третото нататък започват незадължителните параметри;
пример: /tmp.list.dbg
- tinydns DNS server: аналогично;
- dnscache DNS resolving cache: аналогично;
- Microsoft DNS server/resolving cache: аналогично
[тук *изобщо* не съм сигурен дали е възможно... но все пак да го дадем,
пък те да си решат дали ще го правят :]
- ОpenSSH SSH server: специална обработка на SSH2_MSG_IGNORE пакет, който
има данни, започващи с DBUG; форматът на командата и параметрите в
данните са аналогични на тези за SMTP и FTP.
- ssh.com SSH server: аналогично.
4. Vulnerability scanner
[доста мислех дали да го включа това, май все пак може :]