Web Security: CS455/555 SPRING 2019
Web Security: CS455/555 SPRING 2019
Web Security: CS455/555 SPRING 2019
Undergraduates:
◦ Lucy Putnam, Teresa Mullenbach, Graham Miller - Credit cards and ATMs
◦ Bryce Hansche, John Pertle, Bradley Miller, Michael Hansen - Android
◦ Dmytro Dundukov, Kyle Schmidt, Mitchel Hall - Ransomware
◦ Alex Watt, Ben Zadow, Tommy Johnson, Nickolas Hexum - TOR
◦ Forest Evanson, Justin Severeid, Mitchell Smidl, Sully Brooks - Antivirus software
Graduates:
◦ Markus Hutnik, Ben Cerbins, Kalin Rudnicki - VPNs and network security
◦ Adam Yakes, Tyler Durr, David Ferenchak - Electronic voting
◦ Josh Chianelli, Jeroen ketelaar, Joey Fedor - SQLMap
SCUN Graduates:
◦ Jianmu Deng, Dong Yi Liang, Ge Ge - Privacy on Facebook
◦ Zhenhao Zhou, Yuanqing Suo, Yuxiao Ma - Malicious URL detection using ML
◦ Hui Li, Liyuan Li, Mingjia Lin, Feifan Zhang - DOS
Bot sends
LOTS of Result:
packets to Routers along the paths to the server
target Other Other become congested and all traffic
host host along the route suffer – decreased
throughput for the network.
Bot sends
LOTS of Result:
packets to
Server hardware, OS, and system
target Other Other software are unable to handle the
host host volume and drop packets or signal an
error.
Signature approaches
Match a large collection of known patterns of
malicious data against data stored on a system or in
transit over a network
Rules can also be defined that identify suspicious behavior, even when
the behavior is within the bounds of established patterns of usage
Common data
sources include:
A fundamental • System call traces
component of • Audit (log file) records
• File integrity checksums
intrusion detection
• Registry access
is the sensor that
collects data
Host-level IDS is typically part of the
operating system’s job
CS455/555 SPRING 2019 18
Table 8.2 Linux System Calls and Windows DLLs Monitored
accept, access, acct, adjtime, aiocancel, aioread, aiowait, aiowrite, alarm, async_daemon,
auditsys, bind, chdir, chmod, chown, chroot, close, connect, creat, dup, dup2, execv, execve, Table 8.2
exit, exportfs, fchdir, fchmod, fchown, fchroot, fcntl, flock, fork, fpathconf, fstat, fstat,
fstatfs, fsync, ftime, ftruncate, getdents, getdirentries, getdomainname, getdopt, getdtablesize,
getfh, getgid, getgroups, gethostid, gethostname, getitimer, getmsg, getpagesize,
getpeername, getpgrp, getpid, getpriority, getrlimit, getrusage, getsockname, getsockopt, Linux System
gettimeofday, getuid, gtty, ioctl, kill, killpg, link, listen, lseek, lstat, madvise, mctl, mincore,
mkdir, mknod, mmap, mount, mount, mprotect, mpxchan, msgsys, msync, munmap,
nfs_mount, nfssvc, nice, open, pathconf, pause, pcfs_mount, phys, pipe, poll, profil, ptrace,
Calls and
putmsg, quota, quotactl, read, readlink, readv, reboot, recv, recvfrom, recvmsg, rename,
resuba, rfssys, rmdir, sbreak, sbrk, select, semsys, send, sendmsg, sendto, setdomainname,
Windows
setdopt, setgid, setgroups, sethostid, sethostname, setitimer, setpgid, setpgrp, setpgrp,
setpriority, setquota, setregid, setreuid, setrlimit, setsid, setsockopt, settimeofday, setuid, DLLs
shmsys, shutdown, sigblock, sigpause, sigpending, sigsetmask, sigstack, sigsys, sigvec,
socket, socketaddr, socketpair, sstk, stat, stat, statfs, stime, stty, swapon, symlink, sync, Monitored
sysconf, time, times, truncate, umask, umount, uname, unlink, unmount, ustat, utime, utimes,
vadvise, vfork, vhangup, vlimit, vpixsys, vread, vtimes, vtrace, vwrite, wait, wait3, wait4,
write, writev
comctl32
kernel32
msvcpp
msvcrt
mswsock
ntdll
ntoskrnl
(Table can be found on page 280 in
user32
the textbook)
ws2_32 CS455/555 SPRING 2019 19
Advanced Persistent Threats
(APTs)
Well-resourced, persistent application of a wide variety of intrusion
technologies and malware to selected targets (usually business or political)
Typically attributed to state-sponsored organizations and criminal enterprises
Differ from other types of attack by their careful target selection and stealthy
intrusion efforts over extended periods
High profile attacks include Aurora, RSA, APT1, and Stuxnet
Threats
• Threats to the selected targets as a result of the organized, capable, and well-funded
attackers intent to compromise the specifically chosen targets
• The active involvement of people in the process greatly raises the threat level from that
due to automated attacks tools, and also the likelihood of successful attacks
Watch the
following
segments of
the video
• 0:30 to
9:05
• 1:03:00 –
end
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/SIA30
2 CS455/555 SPRING 2019
http://spectrum.ieee.org/telecom/security/the-real-story-of-stuxnet
Web Security
institutional
network
1 3 5
http://www.example.com/directory/file.html
2 4 6
1. Protocol - http
2. Subdomain - www
3. Domain – example
4. Top level domain (TLD) - .com
5. Directory tree to files - directory
6. Actual html file - file.html
Client GET/POST
web Server
browser RESPONSE
HTML
Cookies DB
pages
Images
oActivity:
o Break into small groups 2-4 people.
o Write down your birthdays. If there is a match, shout it out!
o Merge with another group and repeat the process.
o After a few merges, we will write all of the birthdays down and see if we
have a match.
Video
o If the ID for a DNS packet is 16 bits, then there are 2^16 different
values. If Eve generates n different values of the ID in her fake DNS
responses, then she would only need 213 different values to have a 50%
chance of success.
Video
link
Client GET/POST
web Server
browser RESPONSE
HTML
Cookies DB
pages
Images
o Solutions:
o Good spam filters
o Train the humans to be good spam filters
o DNSSEC
o Typo correction in search engines
o Validation of certificates in web browsers
https://excess-xss.com/
CS455/555 SPRING 2019 2-47
Cookie stealing
Persistent XSS Video 3:20
Cloudflare