Hi, Mariko. This is my Twitter handle and GitHub and everybody on the internet. I'm from web developer relations at Google. But it's a new job for me. I joined about five months ago. I was a web developer before that. So it's kind of like a new field for me right now. So the events like this are great. Not only I get to meet you all who use the platform, but also I get to meet the team behind the people who is building and a lot of people who work on the Chrome and stuff. So, you know, I go to people and ask like, hi, I'm Mariko. I'm new here. I recently joined. What do you do? And then I get the reply like, I'm on the platform team. And, you know, okay, cool. And then I go to my email and then I get invite like, what platform meeting? Cool. I'm going to go to that platform meeting. And then in that meeting, the conversation goes like this. Like, well, so like X, some framework, use web technology, but not on the platform or like from a platform point of view, blah, blah, blah. And then also there's a whole hashtag, use a platform, which, you know, I'm sure you've seen it. Like, yeah, banners. So platform, platform, platform, platform. So, like, do you know those souvenirs that you get at the tourist destination where it has all the city names and like tote bags and everything? So if I were to design a swag for my five months of experience at the Google, this will be the textile design. So, what platform, right? To me, this keyword is kind of like a sort of like a programming technology that I use. Like, you know, one of those things that I kind of know what it is and like copy and paste it and use it. But as soon as somebody challenges you, like, so explain to me, I don't know, JavaScript promise, I can, I'm going like, I use it, but I can't really explain what it is. But platform, to me, is like that. So I tried to find that example of like me kind of pretending that I know. So this was from March, somebody asked me, like, I don't really understand what the Node.js is and like the relation to V8. So I looked at the diagram and the diagram itself is not important. But then, like, zoom in, I use the web platform, even though I had no idea what the platform was. I just, like, titled it web platform. So it got me thinking, like, I don't really understand what web platform is. And I'm not the kind of person, kind of like a toddler who asks everything and questions everything in the universe. Like, I must know everything. So I got to people, engineers on the team who works on the platform and asks them, like, tell me what exactly is web platform. One thing I got was, like, things you built, like, websites and apps out of language of the web. And I'm like, okay. It's, like, I don't know, building blocks, Lego. I don't know. Another one I got was a set of interoperably implemented technologies available to developers across the web browsers. And I'm like, that's great. I have no idea what you mean. So platform, right? And then I got kind of like, I must understand this and me dive into it. The thing is, in my past life, before becoming a developer even, I worked on the platform. I was in the software platform industry. And I would go into client and tell them about, like, you should join a platform, build a product on a platform. I was on the company that made the video platform. And then I go back to office and talk to engineers and product managers and other stakeholders about, like, what should be in a platform? What kind of API should we expose? And most importantly, how are we going to make money from selling this platform? Because in 2008 and 2009, like, SARS, the software as a service, was, like, one thing, one wave. And then, like, platform as a service was a thing to do. So I know what platform is in software sense. But when I started web development, nobody called me or emailed me saying, like, you should use web platform. Or nobody charged me money to use, to start writing HTML, right? I just started, like, open up the text editor, write a talk, FTP to the server, and then, voila, there was a website. So what is the web platform? Because even I don't even remember who told me or when I was told, but there was this general understanding that web is open. It's the open web platform. So I was, like, okay, that's a key word I can Google. There is a definition on the W3C Wiki, which is the open web platform is the collection of open loyalty-free technologies which enables the web. So let's dive into this sentence and what it means. So first of all, open loyalty-free. Almost everything, anything I feel like that goes into web platform is done and logged and open. And what I really mean is open, that you can find a conversation as far back as 91 logged on the Internet about, like, you know, discussion about what the worldwide web should be. My favorite part of this log is the first email in this log is titled, the test again from Tim Berners-Lee, inventor of the Internet. And then he says, like, test again. Clearly he sent these messages before, because it's a gain. And then, like, if you got this, delete it, sorry. But, like, this is the one that did not get deleted, and now it's logged forever. Well, joking aside, if you go through those threads, there's, like, really interesting history and artifacts of how web was formed. So this thread, I think, is particularly interesting. It's a Mark-on-Jerison who was at the time working on the Mosaic Blizer proposing the image tag. And it goes, like, I'd like to propose a new optional HTML tag, IMG. The required argument is SRC equals URL. And if you read through this thread, there's a conversation about do we even need to embed image in HTML? Should we just have a link to some of the external resources and not even display the image? Can we use other tags that we were considering instead of IMG? And it's, like, a whole bunch of discussion, and it ends with Mark-on-Jerison going, like, yeah, that solution doesn't need to work for us. I don't think that works for us. By the way, we already wrote the code, and we are shipping it. So that's the open part. The discussion is done in open. Nobody is trying to say, like, whoa, my HTML is going to have embeddable image, and I'm going to charge money for it. No, like, the ideas and technologies and how it should be, the API should be, is discussed in open. Another part is that it is a collection of technologies that enables the web. We looked at the image tag example, but it's not only just defining the HTML tags. So what kind of technologies do we have on the web platform? Well, the web is evolving ecosystem. So one example is the pointer event. So we used to browse websites with keyboard and mouse, but then now we browse on those devices, and we use our fingers and two fingers, so we needed a way to address those interactions in the web, and we added pointer events. Another one, the web used to be just a document that we shared across the internet, but now we make applications, and which internet application needs to get access to local file system, maybe, so that you can upload image and make something like Instagram. So file leader API was added. This is the API that is near and dear to my heart. This is the API I used for the first application I wrote on my job, like, not the side as a hobby, but, like, the first application I wrote on the job, I used this file leader API because I had two weeks of off-time. I wasn't a web developer yet, but I was on the business side, and I had, like, a week, two weeks of off-time that client wasn't sending me assets. I was like, well, I learned JavaScript recently, and I know how to console log, and I know how to, like, HTML. I'm going to, like, try to make this, like, a little tool that's going to help me do this analytics thing, and what I used was file leader to load all of the data, the attributes that I needed to automate my job. So when I did this, my company did not buy me license. I did not ask for money to start making the thing. I just opened up my text editor and did it, and that's great. So collection of technologies which enables the web. And this definition is a lot close to the description of the platform I got from the engineer, a set of technologies for the web. But that's only half of what he described as the web platform. There's a whole other set here which is interoperably implemented across web browsers. So I went back to the same engineer who said this and asked them, like, so how does browser interoperably implement things? And his answer was, like, well, we used to just copy each other's bugs, but now we write spec for standards. And that's the way we make platform. And Alex, the speaker before this, kind of talked about how that came about. So you got that thing. But every web API and the platform features that we use, that as a web developer, we might encounter on MDN or any tutorials that we publish, behind that is thing called specification documents. And it looks like this. And if you go in, here's the custom elements section where it defines the element. It goes in detail what to look for, when to look for, what to check for error, and what kind of error to throw error when. It goes in step-by-step detail also how this API and how this feature should work. And you might have ended up this in page when you were trying to search for some tutorials and then you might look it away. Because I did. I certainly remember this, like, a design of a blue bar, sidebar thing. But, like, I don't ever remember just, like, getting any information that I can use on a web development job to finish this PR from this document. I was just, like, ah, that's not for me. I'm just going to look away. While I was just having this conversation, another colleague of mine kind of asked me interesting questions. So he walks on standards I thought at Google. And he asked me, like, so I have a question. Why don't you just contribute to standards? And my answer was, like, that's an interesting question. I have never thought that's possible. Because, like, somehow I think the standards are, like, a mystical creature called W3C and ECMA standard gives me this, like, golden document that we can use. And I've never thought that there was somebody or some human close to me writing these things. So I told him that, like, I just never considered as things that I can do. And he was, like, oh, that's interesting feedback. Glad to know. Because we never thought that was, like, you thought that way. And he told me, by the way, here's the way to contribute to the spec. And it turns out it's a lot closer to how we make web application and how we do software development. So let's look at how we work on spec. So let's say, for example, if you want to edit or add something to the existing spec, what does it take? Here's a HTML spec that is defined by what WG. And, you know, here's a link to the document that is kind of, like, I felt like that's not for me. But all of those are hosted on GitHub. And there's an issue tracker that has all of the thing that needs to get updated. It even has a label for good first bug. And it's interesting that the spec is an English text. When they say mean bug, it means fix this English text. So if you look at the PR that is made against this HTML repo, you find things like this. Like, explicitly mention possible values for image smoothing quality. So this was from one of the good first bugs. It just means that somebody noticed that in the spec text is a little ambiguous when they say values image quality, it didn't say what kind of quality is possible. So this edit just adds three more words to what kind of image quality needs to be added. And now, the person who made this PR is a contributor to the HTML. Much like we write tests for software, web platform and spec has a test called a web platform test. And if you dig into this repo, you can find how each of the web platform features should behave. And you can read through what each of them should do. And I'm kind of the person who sometimes when you don't really understand bug, you read the test and then see, like, okay, this is what it's supposed to do. And here's what I need to fix. I really enjoy looking at web platform tests and knowing how things should work. But what if you have a new idea? What if you're working for a company or working on a project that is completely out of what we consider as a web right now and you need something standardized? How do we go about that? I'm going to show the example of how to do it on W3C. But many of the standards follow the same steps. So there's a thing called web platform incubator community group, YCZ at W3C. And if you need the announcement, which happened, it's a little recent thing, like an announcement from 2015, it specifically says we will develop spec use cases document like we develop any open source software. So how do we do that? YCZ have discussed. And then there's a value of things and features and discussions are happening there. So let's say you have idea, new API that you want to bring. You create a new thread. Here's one from Sarma, who is speaking later today. And make a proposal. Usually those thread comes with a little bit of explainer. So in the GitHub, there's explainer like one markdown file says like, here's the problem we have. And here's a potential solution that we want to solve with this new API. If you lead these threads, the threads go into people asking like, well, what do you mean by that? Can you clarify your question? Is it really valid problem? Or any other things like, can't you just solve this with this other thing that already exists in the web platform? And those discussion happens. Once the virtual discussion happens and community agrees that this is actually a problem that we need to solve. And this cannot be solved by existing technology. We should make a new thing. Then it moves on to the next step. So if you are curious about those specs and explainer docs, YCZ WebIncurator community group has a GitHub org. And you can browse through all of the LEPOS with all of the explaining things. And it's kind of a good place to know what kind of new things like that are going to work. And it's going to be a good place to be. And you can also do a lot of things like using the web USB or considered for web platform. Once that discussion is mature, they do a thing called intent to migrate. And which means that we identify the problem, community agrees that we should work on it, and we want to formalize the process. And it moves on to what is called walking group. Walking group is kind of like a subset in the W3C that works in the W3C. And you can discuss how can we actually make interoperable technology. So CSS has walking group, service worker have walking group, and walking group usually have GitHub. And you might think, we already have the GitHub. What's the difference? Well, you know, there is the LEPO is now under W3C. And there is a whole bunch of process to move the spec in order to be official spec or recommended spec. So there is a document that feels like a gazillion pages of the process. If you're interested, you can scroll through and you can find things like, okay, if you have a spec, it goes from walking draft, WD, to CR, to PR, to recommendations, and you know, you can lead a whole through that. But once you identify the problem, then identify, we'll agree that we should actually work on it. Then there's a whole other set of process to bring more stakeholders together and make sure that the specs are done. So if you're curious, if you're browsing MDN, you can see what kind of specification this platform feature belongs to and what steps in those steps. So that's the spec process that is in. And it's in the table for MDN. And it's kind of fun to look at. So, as some writes, I talked about W3C case, but generally, other stunders bodies follow the same thing. Somebody has an idea. And somebody starts the conversation about, hey, I have this problem. I want to solve this. What do you think? And so I think that's a problem. And if somebody, that conversation happens one and two and many cycles, and then if they agree that, yeah, we should actually invest the time and bring the stakeholders together, it moves to a little more organized steps. And then they do another more set of discussion around it. And then once that's done, then it's qualified, and now everybody's happy and go party. So I asked the same engineer who told me about the web platform, like, how many web platform stunders, or like, how many stunders goes into making a web browser? And his answer was all of them. There is a lot of stunders bodies specifies many bits of parts of the platform. So W3C has CSS, a lot of web API, what WG defines DOM and HTML, ECMA is specifically ECMA technical . It defines the JavaScript. Unicode, most importantly to me, defines emojis. And you can propose new emojis to Unicode, there's a process for that. And IETF has things like HTTP. So I, before going into this, I felt like this, you know, person to person, somebody who is definitely not me working on spec was a process for spec writing. But after this, I came out that, well, it actually many parts of standardizing a web platform and defining what platforms should do, it's something that I, it looks like something that I do day to day. It looks a lot like software development. But I warn you, it takes time. And sometimes it's a little frustrating. I'm sure we were at a Polymer summit, we get frustrated, oh, is the spec ready? Is it already recommended? Why is it moving so slow? And there's a reason for that. Web platform is built on many different environments. Since joining Google, I got opportunity to attend one of those standard meetings. And I witnessed interesting conversations. So there was a conversation about internationalization API. And one browser was saying that, well, our browser is built on top of specific architecture, specific OS that does not use this internationalization library, which other browser uses, two other browsers share the same library. So their point was that, well, you too might think this is easy to implement because it's in your library, but it doesn't work for architecture, it doesn't work for OS, and it's really hard for us to implement. And those discussions, making sure that it is interoperable, takes time. Another one is that web is really unique ecosystem. You have to support HTML from 20 years ago, and you have to think about supporting HTML from 100 years from now. We can't just say, oh, excuse me, sorry, in order to use Polymer 3, you need to install web 2017. That's not how it works. It has to work backwards compatibility, and it also has to work in future. So a little story time, when they're considering those backwards compatible and future proofing, what kind of conversation happens at the standards? So 2014, one of the engineer who was sitting next to me, I think saw Rob's talk from a Google I.O., and he was really excited and told me that you need to write this thing called Polymer and use web component. This is the new and shiny thing, you should do it. And I was like, okay, great, I can write my own HTML tag. I want my HTML to look like this. I was in business, so I was thinking about data dashboard, and this looks pretty. I can define my elements and make my thing. Well, my first prototype didn't work because I didn't hyphenate the tag's name, and that's one of the spec. So Polymer doesn't work that way. I have to make it my dashboard and bar chart and hyphenate the name. And I was like, oh, why? I had this specific markup in mind that I want to write. I was kind of frustrated that Polymer didn't let me do it, and at the time, I was like, Polymer didn't let me do it. I didn't know anything about web platform. So that was my frustration. Two weeks ago, I was in the conversation with the engineer who was in the meeting when they decided that the custom elements should be hyphenated. It was an enlightening experience to me. So when they were discussing, okay, let's have this thing called custom elements. And developers defined their own tag, basically. How should the syntax be? And this engineer who was at the meeting told me that they were like, okay, we need to define the way that doesn't conflict with existing HTML and the HTML tag that might come in future. So we need to namespace it. Well, what about namespacing it with colon? Turns out XML used this syntax and SVG used XML syntax. So let's no go because it conflicts with what SVG. So colon, no. Another one was like, what if we just, like, prefix it everything? So, like, x-custom element or something.  So, like, they were like, oh, we really don't want to do that. So, at the end, they ended with just simply hyphenating the word custom element. And everybody's happy, and that's how we code now. But this is so much more than just having a neat-looking markup. When the specifications decided that this is going to be, a custom element is going to be hyphenated, that means that they decided, in future, when they were to be considered new HTML native element, then they will not use a hyphenated name. It will always be known hyphenated name because the future HTML element, if they have a hyphen, then it conflicts with custom element. So that is kind of scary things to discuss.  So, it takes time. So, hopefully, you kind of got the idea of what the platform is and what kind of discussion that goes into. And I admit, as a web developer, myself, sometimes it's frustrating. I'm like, why is this doesn't work this way?  But I hope you got the idea that where you should go, if you have those frustration, there is a community discussion forum that you can send to many of the engineers who are at this, engineers and people who works on the stunders at this conference are more than happy to talk about why certain things that you're unhappy about happen that way. And I specifically want to thank the people who answered to my most London and Endress question about, like, I don't understand the platform, I don't understand what the web platform is. So, thank you very much. And thank you very much for Polymer team for letting me share what I discovered. And thank you very much for listening to me.


Long time, a whole week, so quick run-through of this website, create an account, apply, oh that's not a real one so that's good, give your ASU ID if you somehow just enrolled in this course and it doesn't work, email the admin mailing list, your hacker name is so come up with a cool hacker name or you know whatever, this so some there will be for some assignments like a more or less public scoreboard so if you would like your name to be your hacker alias to be obfuscated on that scoreboard click this button so that way it'll be some random value that only you know so this way it's gonna hide because it's fun to have a competitive scoreboard we're all competing against each other and it's nice to be able to say like oh it's not like feeding me or whatever so but if you don't want people to know maybe you have your name or whatever just do that please run your password i like wrote all this and i haven't implemented a forgot my password functionality so you'll have to email us and then we'll give you a very terrible password that's all about how like sorry you are for forgetting your password and that would be your password forever all right once you've created an account log in you won't see these grading options because you're not an admin at least i hope not you'll be able to submit assignment one so the we shall challenge put in your username attach a read me and you're good to go then click submit that will just submit we will probably get a hundred percent automated grading on this very soon so just kind of chill for a little bit uh the c backdoor web server so they should be going so you attach your read me you attach your bank file you attach the source files here you may see so the idea of this is um so the two-phase process right so any notice smoke test is what is it basic yeah so when you're developing maybe you've made like a point zero zero one version increment change one line in the program rather than going through your huge test fleet you just watch the application to see if it watches right so that's so that's the idea of the smoke test the smoke test again like a hundred of them is i don't know pretty much unlimited the idea is it runs it and it compiles it and makes sure that your main file outputs an executable because you can't pass that test you can't pass any of the other tests so we click smoke test it's going to say successful submission for homework one part two smoke test so you have 96 out of 100 remaining then we can go over the status to see our part three smoke test so this is the latest submission i just made it's waiting it'll give you as you can tell when i did this when i had problems it'll give you output on if it failed it does exactly what it said on the the homework description it's uh gonna copy all your files to a single directory it's going to call make and then it's going to test is that file executable it didn't create a file called with a normal web server and is that file executable that's all it does and you will need to just refresh until this is done uh when you do get it you will get this thing where it says hey pass test compile the project then this is where you can decide if you want to submit this for actual grading for all of the grading when you do that we can do this it's the exact same thing it will do all this and then it will say so it will so there's two separate like things here these are your smoke tests and if you go down in part three back to our web server you'll see your submission grade so you actually get your raw score if it was late at all and some of the output of your program so some test cases are secret or you will not know what they are there's a problem in your code there's not a problem in our code so this happens a lot questions yes you talked about in those back valid bgp commands what about invalid informed commands you should handle it you should not crash you should keep being able to process i see requests okay thank you to that request you should just return whatever camera with the specs you can return a 404 or whatever but yeah but it can't crash your server right any other questions that means that we can do it 20 times yes you can now be the spit part three 20 times i feel like it's a lot but give yourself some breathing room make test cases locally test it locally right okay cool all right that's awesome other bit of housekeeping news before we go to content so we are going to have i want to do something new that i haven't done yet before and it's part of the reason why i'm trying to move to this material so quickly because one of the best ways you can learn about all this never security stuff is to actually do real life challenges so we're going to have an in-class ctf cat to the flag security competition next wednesday a week from now so we will not be in this room because i do not like this room for this kind of activity probably pretty bad but maybe we can spread out we have 100 people 175 person room anyways i'm trying to find a better room for us so be on the lookout so bring computing devices if you are not able to get one talk to us and we'll figure something out so this is just a heads up so this will happen it's going to be super awesome and we will be having so i'm the first one will be individuals so you're working on your own and then the next ones you'll get into your project groups and your project group will be your ctf group and you'll compete in occasionally depending on how much material we've done we'll do ctfs and then we will also have a final ctf at the end of the semester which would be awesome cool questions on that yes are we forming the groups or in the class that would be i want to do this ctf first because you guys are all like people will drop out so doing groups now is not a good idea i think so i want to do this first ctf and then after a few weeks we'll do the other one and we'll let you know with enough time in advance so you can all form groups but yeah start meeting and talking to people so you can get a group yeah some people can get by with like me could you get by yeah it'd be rough i've seen some people use like a surface uh one like a surface book i would say an ipad is probably not good enough or like an apple watch would probably not good enough so yeah i would say not top would be good great all right let's get back to you talking about art requests so what's the purpose of art in terms of the network was that finding the neighbors what idea address to mac address yeah so that mapping right because we know who we want to talk to in terms of an ip address what we need in order to be able to send an even a packet is what's their math address right so we saw that art is basically a way to make a request and when we make an art request it goes out to every single uh node on our local area network and we'll get a reply back from that person that says hey i'm this i address i'm at this location and then from then on we can actually communicate with them so even with this little bit you know we haven't studied everything yet we really focus just on the local network but even here we can actually have security problems so what we want to do so imagine this you're on some local area network you're an attacker what do you want to do what are your goals pretend to be an ip address what was that pretend to be an ip address yeah maybe pretend to be an ip address why would you want to do that though just for fun to get that packet i mean get that yeah so to get maybe try to get packets that are destined for so that ip address we may want to try to pretend to be that ip address what else just generally get data from other machines yeah we may not even want to impersonate them but if we can steal all the data that's directed towards them that may be good what else yeah for any other service if you want to adjust the IP address yeah for any other service maybe you want to maybe we want to take out the computer on the network right so it goes back to the cia grant right on it is generally we may be able to steal data that allows us to steal integrity we may be able to impersonate a machine on the network which let's say there's a trust relationship let's say there's some rule that says the database can only be accessed by the web server right that IP address and uses IP address for that well if we can pretend to be that web server's IP address when we're talking to the database now we get full access which we shouldn't have or availability we can try to kill or or knock off any of these computers on the network so these are really going to be our attacks we want to try to impersonate a host denial of service access information another thing related to integrity is tampering maybe we don't want to steal all the information maybe we want the web server and the database to talk to each other but maybe we just want to change something that's stored in that database where maybe somebody transfers money from uh transfers like a million dollars between their account and i changed the destination account to be my account right so the database stores that transaction and now we've got a million dollars on our bank account and it really boils down to kind of some key terms i'll talk about sniffing where we're trying to like listen for information spoofing where we want to pretend to be somebody else we want to try to send packets on the network as if we were other people and hijacking where we're trying to intercept and maybe modify the communication between two nodes on the network before we get into this so how do we know where so how do you actually know we're on a local area network here the summit and what's actually the physical piece of equipment that manages the summit a switch or what else a router gateway one of the difference between all those terms what else anybody a hub a hub yeah so we actually and this is one of the things um again it's one of the things i love about security is that you have a conceptual model of guests you have something that's routing traffic on our local area network but when you drill down to the details what is actually running there has interesting security implications implications and changes your attack so what is the main difference between a switch and a hub so so what do you think about it right so you're thinking about a networking device it has different physical ports so a hub let's say so let's say a bc and d or the ports when it gets a packet on port a it replicates that packet back out to ports bc and d and that's for any single packet any packet that comes out any port it gets replicated to any other port a switch is smarter a switch knows is it is every single computer connected to all of these ports no how can a switch based on the network traffic how can a switch know what computers are on what packet um what ports what was that what's the magnet disable also initially when a switch sends out a broadcast and somebody answers it keeps the track with that mic yes so what it's doing is when a switch does is it listens to those art replies that we saw and when it sees an art reply let's say on port d that says ah i'm not going to address food on port d it knows if anybody else sends a hardware packet with a destination mac address of food it only sends that out on port d so it and it does this with caching it keeps tracking looks at the traffic and sees about the art replies so early early switch it i mean early you know because it's not really good to call them switches since we have this distinction but in the beginning they were all hubs there was no difference here but modern devices actually keep track of which interface which hardware interface which mac addresses connected to which port so broadcast traffic so an art request which is broadcast on the network gets sent out on every single port so why is this important so let's say you want to sniff traffic and we're on a switch how do we do it today yeah we want to switch using marshaar what's what i mean what is that actually doing analyzes everything coming through that we just want to listen so remember we have a physical even at cable right we're connected to a hub if we just listen to every single packet that comes into that port we will get all the traffic on the entire network because it's a hub because every single packet that's sent on one port will be replicated to all the ports we can actually see all the communication in this network just from listening to one port and we can use a tool like wire shark or tcp that like we'll see which actually can do that but fundamentally the concept is very simple you just you just listen to every single packet that comes in on that port if you're on a switch can you do this so let's think about this can you just listen to all the packets coming in on that port on your interface i think some switches have a command line right but you can install so i have to close that off but you're so you're only worried about this assume that you can't touch the switch right so all you can touch is you have a cable i mean even as a visible cable coming into your computer just like before all you have to do is listen on all the packets that were coming on that table so if you do that in the switches case well like hey if you do that you should i mean you should just i mean if the switch likes any new connection set up you can just do it yeah i mean whatever the switch is gonna send you packets you can listen to those packets but what packets are you gonna get are you gonna get every single packet that is ever sent in this network oh wow yes you'll only get the packets on that port which means you'll only get broadcast packets or packets where the switch thinks that mac addresses on that port right so you see there's actually an interesting technical distinction based on a super low-level hardware thing so some of the ways you can get around this so switches are i would say really simple h devices they keep track you know who's on what port do they have the infinite memory no it physically can't right that thing has a good memory 120 gigs of memory seems like a lot but it's still not infinite so what you can actually do a lot of times is you can cause the switch to fail over into hub mode you can essentially make it think that a certain port the port you're on has no 65,000 mac addresses at which point it goes oh man i can't do traffic this i'll just send all pack all packets to all ports and so you've essentially caused the switch to act like a hub yeah okay there's little details here your default your kernel won't give you any packets that aren't destined for its mac address so when you use a tool like wireshark tzp up it usually this is why you need to run these tools as a root so that you can tell the network interface and the kernel hates sending every single packet you receive here okay we talked about why do we want to sniff right we want to sniff because well we want to get data right and a lot of protocols in a surprise you some of them on here ftp uh file transfer protocol these are traffic files um one of those is someone wants smtp by default pop oh no not smtp but pop htp imap these all transfer credentials and plain text and actually there's a so if you sniff the traffic you can get username passwords which is that helpful to an attacker yes 100 yes and so it's actually super interesting is there's and this is also true in wi-fi networks right because you're sending on an unencrypted wi-fi your packets are essentially broadcast in the clear and anybody can read those packets so at the DEF CON security comrades in vegas during the summer they have this usually have this booth called the wall of sheep which what they do DEF CON usually has an open wi-fi so they run a tool that's looking for username passwords on the wi-fi and they will post them to the wall of sheep so you want to be very careful to knock me on that list right so some of the tools we talked about so this is kind of just an overview of some tools i'll like you kind of review this uh on your own time so tcp dump is kind of the main tool to collect traffic it's pretty robust tcp flow will look at a network trace and break it up into the different flows tcp replay is pretty cool because it can resend traffic by maybe replacing so you can maybe listen to traffic in one way and then replay it to get another post wire shark is a graphical tool that's free and open source so i highly recommend it although the interesting thing is a lot of uh like after the five competitions what they'll do is they'll find some zero day vulnerability in the tool like wire shark and then they will send when they send their attacks out that include that so that way if you're trying to look at those packets because you're trying to analyze what's going on it'll crash or or worse to your machine so and this is something they deliberately do like before competition so and part of this is because it wire shark is great because it provides a parsing for a lot of protocols so it should be fun it definitely is fun so tcp dump uh super awesome like i said requires brute privileges of brief it has an insane number of options as i will try to harp again and again breathe the man page if you're ever stuck and don't know how to do something do man tcp dump which is for the manual it will show you the entire manual which probably has the question that you're looking for in there and i know it's shocking to believe but it is actually faster than googling because that manual is local and you can bring it up you can search you don't have to go to the internet it's amazing you don't have to leave your terminal it's awesome you may not want to filter you may not want when you're running tcp dump to listen to everything because there's a whole lot of junk so it provides options to filter so you can filter based on a host so you can do host by name host by id address subnet any kind of stuff so i'm just trying to give you an idea of kind of the functionality here again i don't know if i've said it yet but this class is mainly so rather than teach you how to use these tools i mean we can sit down i could go over through all these things i'm trying to teach you the principles behind them and how to build these tools so you can understand how to do these kinds of tools yeah lots of stuff i mean ethernet's ip packets art packets you can just look at all the art packets and this is you know something that's actually really fun and interesting to look at sometimes i mean you would be surprised by the you know packets that even your machine is sending like why is it sending this udp packet on this weird report like oh that's dropbox trying to look for other dropbox clients to do land syncing like crazy it's also so tcp dump is insanely useful for debugging any network related issues so if you're ever going to do something to touch a network i highly recommend you know how to use this so you can drop down so let's see what was it a couple years ago when i wanted a web security challenge i was running inside our labs network at asu and so i could see them like okay yes i'm getting the website and i ran my send across the scripting payload and then it just hung and i'm like i don't know what's happening is it is my server messed up is our lab because i have my server inside our lab network which is inside the asu network so where is it actually breaking up so i like put tzp dumps on all the machines that i controlled in between so that i could see okay when i make a request it does come in through here when i send my process scripting payload it never even makes it to our lab network which is when i realized aha asu must have a terrible web application firewall that's detecting this and stopping my traffic from coming through so i put it on hdps so they couldn't view my traffic and everything was fine so yeah we also we've had weird weird never thing issues so yes super awesome oh and you can do arbitrary i think the other interesting thing you can look for arbitrary bytes in the packet so you can say like byte number five or zero of the ip packet is one and you can look for flags that way store data to a file so normally what i do when i'm working on a remote server is all because the tzp dump output is not really user very user-friendly because i'll use that w option to write out the packet to a file do what i want to do and then copy that file to my local machine where i can open it up in the wire shark and actually look at it so actually take a dump from here and actually analyze it as a wire shark yes yes so if you use this dash w option on tzp dump it will output it and wire shark can read in that file format so this is really handy because wire shark is a graphical tool you won't want the nice duty on your local machine but the traffic you want to capture is usually on a remote server and it has a dump extension no so in basically in unix land file extensions don't matter at all so you can name it whatever you want and wire shark will still be able i usually name it dot pcap is usually what i do but yeah i could do anything so but you want to write your own sniffer right you don't necessarily want to use wire shark you want to write your own sniffer to do all kinds of weird crazy network stuff lib pcap is a library that you can write and see that is one of the most painful libraries i've ever had to deal with ever and this includes using things like open ssl and for some other libraries i've used yeah i think those are one of the two worst offenders i've ever had to deal with but lib pcap allows you to basically write your own wire shark and so as you'll see in probably one of your later homework assignments there are other better interfaces on top of this depending on different languages that give you this functionality but this is how you can do you can write all kinds of intrusion detection systems that are inspecting packets you can do all kinds of cool crazy network smithing stuff okay the problem is so now we can do this thing and we can use those tools we just talked about in a hub to sniff everything you can run these tools right now on an ally and you can listen to all the traffic that is if you're on like the ASU encrypted you'll get basically only the stuff that's directed to you so you will get packets that for you and any broadcast packets which is actually still pretty interesting because you can get a lot you know from those hard requests because you can know who's trying to talk to who and the different IP addresses so we can't directly sniff so one of the things we said is well we can flood so we can flood our switch with but how do we trick the switch in into thinking that a MAC address lives on this on this port that we're on yeah we can just send an artwork line right because a switch is fundamentally a simple networking device who's packets around right so when it adds an entry to its table for a specific port that says this MAC address is on this port all it does is look for an ARC reply on that port most most of the time it is not looking was there a request on that port and then this is an ARC reply to that request so we just put jump we have 36 bits we can play with for a MAC address right we can just make you know hundreds of thousands of ARC replies to make the switch think that we have 10 000 ethernet MAC addresses on that port and in some cases rather than just failing the switch will say oh no everything's fail so this is actually a security principle that will come up again I mean in this case what's the secure thing to do when the switch detects this yeah block that board or stop like stop working just pay your cash maybe just click yeah like reboot yourself essentially clear all your caches so you know nothing yeah yeah we're talking about the switch the switch came of course that the hosts and beside how they want to do it but the switch has to support this because you don't know what the switch is going to deploy right so so they could do this but would you buy a switch that when it detects a problem stops working have you ever mess with the switch that it's not working like one of those frustrating things you could ever deal with because like the network is working so you know from a business point of view when you're looking at risk and from if you're selling people a switch the selling point is not hey if this detects a problem they completely shuts down and then a human has to figure it out right if you want to buy a switch that's going to work no matter what happens right and so that's but we can use that as attackers in order to force a software or a piece of hardware in this case to do what we wanted to do so we can force it to turn into a hump then we just listen to all the traffic and we get everything so one thing we can do that's pretty interesting is we can just literally change our MAC address has any changed their MAC address before now would you do it for if you can admit to doing something definitely yeah what was that I changed my MAC to my so captain portal is actually a great one so an open wi-fi that requires you to register or something or a hotel wi-fi that requires you to put it in your room number so that usually what these do is they then map your MAC address and say yes this MAC address can access the network so if you do that on your laptop and you want to connect the device to this network that doesn't have an interface can log in from like an xbox then you can connect your laptop well you can do it two ways you need to change your laptop's MAC address to your xbox's MAC address then log in and then turn off your wi-fi and then now the xbox can connect I've done this before when being in I think it's like international airports when I didn't want to use my mobile traffic but they had this weird thing where you can only connect one device to the network and you had to get like a code like a code to connect your device to the network so I just changed my computer's MAC address to be my phone and turned my wi-fi off and then you're just connected to the network so this is actually a key thing to remember about security is a MAC address can be 100% change in spoof right so if we want to pretend to be a system we can just change our system's MAC address to be their MAC address and then now we'll get traffic sent to that machine because somebody will say hey who has this IP address and we can even change our computer to be that IP address and we'll say yes I have this this IP address and if we're going on a network that ran out of IP addresses like the DHCP we only had like a slash 24 but we had 300 yeah yeah so in our company we had a lot of mobile devices in the middle so it was they were more than good to be like so after the after someone started to try to connect they weren't able to do it yeah for the worst part was I had we had this happening in our lab where we had more machines and so I would try to ssh to my server which is on the local network and it would work about 50% of the time it was being really slow and sometimes it would say uh I don't know key host error or something and sometimes it wouldn't and tracking down that was a huge pain of realizing there are two machines with the same IP address on the network you can induce that scenario as an attacker right you just change your IP address to somebody else change your MAC address and then you'll probably get their traffic but what are the problems with these two what are what are some of the downsides of these approaches open one of the downsides of match line as a tackle yeah the downsides of an attacker so what why might you not use it so you're attacking what was that don't know you're attacking don't know yeah why would they know from what might they have been flooded with a bunch of packets and he's throwing a hundred thousand packets enough to overflow some buffer on a switch right so it's not very stealthy right you're not limiting your footprint you're basically just yelling really loud until they like give up and just give you whatever you want right and it might not work the switch might be very sophisticated might be you know they have really fancy expensive switches nowadays it may actually just not work right and so you may have spent all this kind of effort to create this environment where you don't actually know beforehand it's going to work enough so what about the MAC duplication and cloning basically you can not do spoofing very easily but I know that there is a functionality of R which is called R-precious or something like that which can be used to detect the duplication of the network automatically and so most of the systems we don't know are supported right now yeah that's on whom we're impersonating right but essentially if we duplicate it we've more or less taken them off the network right so depending on what that machine is somebody would probably notice if it's something important that it's no longer responding correctly or maybe they have some detecting capabilities in the network so we can actually do even better we can use ARP spoofing in order to essentially manage so to do two things a we can use this to sniff traffic between hosts and then once the traffic is routed between us we can then modify that traffic so okay let me go back to my either we're talking about either ARP spoofing or ARP poisoning where we're essentially poisoning the ARP tables of the two hosts of the network yeah it's gonna be a race yeah chaos will ensue so in a normal network machines don't do that right so that means you're up against somebody else who's doing that there's somebody else playing ARP games so yeah you're not gonna have another good time neither of you will it's like a mutually assured destruction thing right once one of you stops then the other one actually gets there can accomplish their nefarious goals you don't need a request to send back a reply correct so it's a stateless protocol yes absolutely but this the core problem is this is inherent in the protocol of ARP itself there is no way to link these two things together and so you have to change ARP but ARP is such a fundamental part of the infrastructure and it's not even clear how you do this because the machines don't even know you know you don't know who this machine is all you know is the IP address so it's what do you have to guarantee authenticity so yeah it's it's a super interesting problem you have to completely you know one way to do it is static ARP tables so every post has a static ARP table that never changes of all the local hosts on the network but that's a lot of overhead because if you have you know three thousand you know network not every post needs to know about every other host if they don't talk to each other all the time so yeah it's just it's an interesting trade off but yeah this is this one of these things you know these protocols were created in like this you know 70s and 80s right so before like you have to think they were trying to get things working rather than securing things and they worked so well that now everything uses it and we can't just like we can't have like a flag day like they had in the internet where they moved from the mcp to tcp and they just said okay on this day we'll shut off the internet and we'll all update our systems and we'll turn it back you can't have that nowadays so that's very pretty great cool all right so we went over this example we basically made our own example so this is good so there are tools that do this so dsniff is a collection of tools that will can't do interesting things so this is actually how so dsniff is how we talked about that the wall and sheet listens for these things so these tools will look at network traces network traffic and extract username passwords from there that you can use there's arcs spoof tools arc spoof is one tool specifically to do arc spoofing types of attacks there's ssa's man in the middle web man in the middle so once you have the track work in between you could maybe if it's a regular hdb connection you can change and modify any of the content between each other so you have super fun games to play enter cap is a tool that actually is very nice that you can just run to set up this to do this arc spoofing between the two posts so you basically put in what i have the addresses you want to do and you hit go and the tool does this for you so it's yeah it's very easy to do this so something to fence is so we talked about you can have static arc entries right so say but now you have you really kind of and this really doesn't work too well especially when you think of now where we have a lot of cloud instances where you have one you can you can kind of spin up servers at any time so you know if you want to have static arc tables if you're going to add a machine to the network you would have to add its mark entry to every single other machine in your network which could be costly you can you know ignore arc replies so you can if you get an unsolicited reply just drop it and don't listen to it right but we still have this problem of when you send a request and you get back to replies how do you know who's the truthful one right it's a difficult problem so there are tools like art watch that can monitor the network for changes and keep track of ethernet IP address pairs because they should be relatively constant right so we're seeing you know suspicious activities so here's an interesting technical problem how do we detect sniffers in our network so now we'll flip our hats and we'll go from the white uh from the black hat attacker side to the white hat defender side even though they're all white hats we're learning offense for defensive purposes but so a do we want to detect sniffers on our network right we wanted to normally by default a person running a machine or another network should not be sitting all the traffic on the network right that's even if we're in a hub environment they technically can you would not necessarily want them to be able to so how so we agree that we should how can we actually do that what makes this hard is this doesn't sound super easy like an easy problem it's hard I mean it's hard because we we're blind and inside of our our machine like we don't get to see who else is looking at yeah depending on our network environment right we like think about ASU you bring your phones and you connect to the ASU network right ASU doesn't force you to install software that can detect if sniffers are running on your phone could we I mean I guess could you if you had a known network and you had known traffic routes I mean could you somehow analyze like the time to live on packets and then would that let you know or is that decremented if a sniffer grabs it off already no all right so that would work correct right so it's difficult for one reason because we have no visibility into the end host on our network or if there's soon we don't we can't really relax wait what about why more reasons about why where are we detecting it from the host I mean the terminal or the switch uh let's say we're the network admin so we could run something on the switch we could run as another host to try to check sniffers on other hosts we could get a maybe a tap of network traffic to see I don't know try to connect something that way what's another reason why it's hard so we don't have visibility what is the sniffer like a hub what is the sniffer doing passive completely 100% passive it's actually not sending out any traffic or maybe all it sends is to our replies and then now it's just sniffing traffic right you know so one so if we have visibility we could look and see is the interface in promiscuous so that could give us some some insights you can actually see this if you run if config on an ethernet port you see this promiscuous flag but we can hide this by running in the kernel and we could you know I don't know it's kind of crazy we can look for art we talked about this we can look for weird art activities which things are doing relatively constant over time we can look for suspicious dns look-ups so this is actually one of the interesting things so when you first run a wired wired network well I noticed it more TCP don't you'll notice that it's slow when you first run it and the reason why is every IP address it sees it tries to do a reverse dns look-up of that IP address by default so that's why I always run tcp.n to do not do that and load lowercase n and that's like literally it's like burn to the migrate it's like not even I don't even think about tcp.n but because now you can actually trick the attacker to making dns requests and so you could detect a sniffer that way you could maybe try pinging all the hosts on your network from a certain IP address and then seeing who makes a dns look-up for that IP address because normally it doesn't do that so the other super interesting thing is you can look for latency so if you think about it your systems so if you think about the network interface right so the network card is running something firmware that's connected to your ethernet board right by default if ever it sees a packet that's not destined for that MAC address it just drops it it doesn't do anything which is super fast right because that's literally the network card right there it doesn't even have to talk to your cv you about it right but when you turn it in permissivism mode then it sends the package to the kernel the kernel has to handle this so you can actually detect this by using timing and seeing how long it causes um so you could basically from like your hope you can ping a host and see what the response time is when you and how that changes when you send traffic that's not destined to that host um so basically you can see whether host a is analyzing traffic because it shouldn't affect like traffic to other hosts should not affect their processing and pinging time so it's kind of an interesting side channel you can use here to detect sippers um yeah you can do interesting things so you can try to take advantage of weird stuff in the kernel so if the behavior so the important thing to figure out is the tcpig behavior right all this of art ig tcp as we'll see this all lives in the kernel right so if the kernel does something different depending on if you're permissivist mode or not you can actually use that as a signal to see if they're uh to see if they're in permissivist mode uh there's yeah all kinds of interesting interesting stuff here another way is just say hey let's lock down our network right and just say let's not have anyone else that we don't know connects to our network so all of these sniffing hijacking require usually physical access so coming in and plugging into uh so there's actually it's very cool there's a protocol it's it's one of these interesting problems of like well how do you authenticate a machine that just gets plugged in right so essentially you have to install certificates in every single machine in your enterprise and that way when they plug in they use this protocol in order to actually authenticate to the switch so the switch can give them an IP address and know that they're actually a valid person uh so this is something that's that's uh really really interesting cool and it's super important for actually running a real world you know you want to think about your system alone what was that isn't this how public um access some systems work like why because you still sign up right if you're going into starbucks you still sign up for something and then you i think because i think i think i did it and so i i believe i'm not i'm so sorry but i believe like the asu wi-fi or you have to log in with your asu username password that probably uses this other things like starbucks they use different kinds of things like they uh because you don't really have to sign up it's they want to see if they know your your mac address because it's the only thing they know and they say if they don't then redirect your web request to this login page and then once you've logged in and and accepted their terms of service then because i think you get you get the certificate on the atp and then they probably allocate and i give you know which i i don't know the details about how 802.11x or 802.11x yeah was that yeah so i i don't know but i bet if you read the spec it would tell you everything you want to know with the rsc and initially it was going to implement on the standard correct yes but there definitely are i'm fairly certain there are um yeah because otherwise there's another way of doing wirelessly at home right you just have your password so you give somebody the password and then you give it to somebody and then you give it to somebody right but here you want each device to be authenticated right cool okay other games we can play so always send an IP address pretending to be somebody else so this is actually a super important thing that really undermines all of their security is when an host gets a packet at the IP level it has no idea that this packet came from that IP address yeah send another packet in the response to the packet that we received and then checking that you know maybe there is a record that records the IP address that has some of the network and if somebody is moving that so no fundamentally clean the question is when you get a packet can you tell who this came from okay no no no job you don't say that when you get a packet can you tell who came from no this is the exact scenario we came from so why do you want to do this so why why why would we want to spoof IP addresses so actually that's a good that's a good point so let's go but that may not even be necessary so depending on what the thing is so um as we'll see certain types of protocols like DNS you can actually spoof this way okay so so the way to do this is you need to be able to as we said because your machine my default is not going to create a packet from another MAC address with another person's IP address so you need essentially raw access to a socket and to get that you want nice things on top of it and uh libnet also sucks i would say that scabby as hopefully you'll find is one of the best written well one of the best for library for doing this kind of network defense i and write these network tools i've actually gone back and forth about i do i want to force you guys to use libnet and lily cap because it's a huge pain so that way when you see scabby you can see it because otherwise you're just spoiled you just look at staff and you're like oh yeah it doesn't do everything i want it's much better than the previous okay so when we get there we'll get back to high decking and how to inject packets


This is stock number 10257. We are here at Summit Automotive in Fond du Lac, Wisconsin. You're new and used heavy duty truck headquarters. Today we are checking out this super clean 2017 Ram 2500 crew cab short box. This truck has a 6.7 liter Cummins diesel. From this HD video you will be able to tell that this truck is extremely clean all the way around inside and out. We shoot all of our videos in 1080p so if you have HD capabilities turn them on right now because it's like you're right here looking at the truck with me. White pearl is the color. Very clean down this side. This is a Laramie Longhorn. Has the factory chrome step bars, all the lower rockers look really nice. Comes with the painted and polished aluminum rims. These are 20 inch rims and it has Michelin Defender LTX LT285 60R20 tires with about 60% of the tread left, maybe 70. Frame and underbody is very clean. You get those Bilstein shocks part of the off road package. Projector lamp headlamps, LED running lights, factory fog lights, front bumper parking sensors, front bumpers in excellent condition, no dents or dings on that. More valance is in excellent shape. Chrome trimmed grille, passenger side fender, no dents or dings on that. And the passenger side rim, excellent shape as well. As you go down this side of the truck you can see just how clean the body is, how reflective and mirror like that paint is. We take these HD videos so if you are far away or even if you're close by and you just cannot make the trip down but you're still interested in purchasing the truck you can still see the truck, hear the truck and have confidence in the vehicle you're looking at before you even get here. So you can make a smart buying decision from the comfort of your own home. We now offer the Summit FastPass which is a way to buy the vehicle right online.  Frame and underbody, very, very clean. It has all the remaining factory exhaust so it hasn't been altered in any way, shape or form. All the lower rockers look really good. So you can basically do your entire deal on our website and then just show up and pick up the truck. Pretty cool stuff. Back tires have just as much tread as the front tires, if not maybe a little bit more. And it does have that rear coil suspension which gives you a lot smoother ride when you're unloaded. As you come around to the back of the vehicle here, rear bumper is in pretty nice shape. It does have the reverse parking sensors, full towing package, receiver hitch, four pin and seven pin wiring.  The tailgate is in excellent shape. As the locking tailgate backup camera has a spray and bed liner, LED bed lighting, and the bed is in really nice condition. As you come around to the driver's side of the vehicle, driver's side box, excellent shape, you get those fender flares part of the Laramie Longhorn package. And this back rim is in excellent shape as well, no scuffs or scrapes. And that back tire has a lot of tread left, maybe even more than the passenger side. But so good tread on all these tires. As you go down this side of the truck, I didn't see any dents, didn't see any dings. Has the enter and go system, has the fold out tow mirrors, they also power fold in. They're heated and they have built in directional signals, little LED lights there. Inside, the Laramie Longhorn package gives you the, I think this is the cattle brown leather interior, you get the Longhorn badge stitched onto the back, the black piping, memory driver's seat lumbar, both these seats are heated, both these seats are cooled, the factory all-weather floor mats.  Let's take a quick look inside here. As you can see this one has 51,207 miles, really nice shape for that mileage. You get the Longhorn instrument cluster, everything's kind of a bronze and gold trim in there. The 7-inch LCD display, you've got an outside temperature compass, range to empty, trailer brake gain, and you can change all those corners to whatever you want, and of course the digital speedometer. The heated wood grain trimmed leather wrap steering wheel, cruise controls on the right, Bluetooth and information center controls on the left, then audio controls on the back of the steering wheel. Six-speed automatic transmission, this one comes with the 8.4 touchscreen radio, this is the 3C radio, this one already has the factory navigation installed on it. You get AM, FM, and Serious XM radio capabilities. You can do your heated and cooled C buttons here, you can check out your backup camera, and you can do your climate control here as well, hook it up to your Bluetooth cell phone. If you don't like the buttons on the screen, you've got the tactile buttons down here for your climate control, you also have your factory brake controller, downhill assist control, stability control, tow haul, factory exhaust brake, your rear and front parking sensors, you can turn those off, auxiliary buttons for any lights you may want to put on the truck or winches or whatever. 115 volt, 150 watt plug-in, up here you'll notice it has the Alpine premium sound system. The passenger seat is very clean as well, this truck has never been smoked in, smells very clean inside. Headliner is very clean, you can see those speakers in the ceiling, that's part of that Alpine sound system, it also has a subwoofer, the power sunroof, the map lights, power slide and rear window, home link buttons for your garage door security systems and lighting systems, then you get a 911 and assist in the mirror. Those are features of the vehicle you never have to pay a subscription for. You get the nice long horn design on the dash there, the wood grain trim over there, the wood grain trim up here, and we'll take a quick look at the back seats.  There's little LED lights in the seats and hopefully this is unbuttoned, there's your factory subwoofer as well, so lots and lots on this vehicle, very very clean inside, I'd give it a 9.9 out of 10 for plentiliness on the inside, got the child safety locks in the back seats, we'll take a quick look under the hood, I would personally like to thank you for checking out the video today, hopefully from this HD video you have been able to tell just how clean this vehicle is all the way around inside and out. Under the hood we have the 6.7 liter Cummins diesel engine base, very clean, runs very smooth, this truck has been fully safe and inspected by our service shop, has a fresh oil and filter change, all the fluids have been checked and topped off, the truck has been gone through mechanically 100% and is 100% ready to go, to see more pictures of this truck or one of our other 450 new and used cars, trucks, SUVs, minivans, wranglers, halftons, recoder tons, one tons, you name it we got it, go to our website www.summitauto.com, full pictures and descriptions of every single vehicle from two locations all at summitauto.com and if you'd like to check out more HD videos you can go to youtube.com slash summit auto remember to like subscribe and share on this video and all the videos that you see there, in fact in a second you will see a link to subscribe to our YouTube channel on your left, a link to more heavy duty truck videos like this one on your right if you have not been to our website on the bottom link to this vehicle on our website click those check us out and we really look forward to helping you with this super clean 2017 Ram 2500 crew cab short box Laramie Longhorn Cummins Diesel thanks again


After the 27th 1984, at Dallas Fort Worth International Airport, over four-and-a-half pounds of Southwest Asian heroin were discovered in a false bottom suitcase. The suitcase was being carried by a male Pakistani arriving from London's Gatwick Airport. A unique training opportunity arose when portions of the seizure were video recorded as they evolved. Thus, actual footage of the seizure with the seizing officers' initial observations were used in this tape to highlight the false bottom suitcase and its construction. Let's see, thanks John. Part of the suitcase, first test, on the dimensions, you should feel something thick. Okay, what about the rivets? Alright, again the rivets are the same. You can see right here, more rivets have been removed and proper rivets have been inserted. Okay, let's take a close-up. Just notice, the shells are upside down. This is the top shell. This is the metal frame, but right here is upside down. This part right here should be on this side. So they're identical in everything. This is the good suitcase. This is a good suitcase, no false bottom. This on the false bottom, you can see the push rivet or the pop rivet with a hole in it that is not normal. It does is secure that band, lining cloth, secure up against it. We're now taping side too. In summarizing the details of this seizure, the drug courier was Ol Mel, resident alien with Pakistani citizenship. In his possession were two Pakistani passports which indicated that since May 1981, the suspect had made seven prior trips to the United States from Pakistan. He claimed to have been unemployed since 1981 and was in possession of $100 cash. His luggage consisted of one carry on or tote style bag and one standard size hard shell Samsonite suitcase.


So a couple of things, man. I just gotta say that I really, really appreciate so much of y'all showing a lot of love for the video that we did with Jeff's Rebick. Of course, a big shout out to him for even being willing to do it, but shout out to y'all too, because I just saw so many comments supporting, showing love and just, I appreciate y'all, man. Seriously, I appreciate y'all. I know I tell y'all that all the time, but I mean it because I mean it and y'all show a lot of love. So thank you for that big time. People who I hadn't seen comment in months, saw them coming out the World Works and whatnot, but I appreciate it. The video was a lot of fun. It was super cool of Jeff being willing to share some of his time, because obviously y'all saw he was busy doing a mock draft while we were talking. So shout out to Jeff for being willing to come on because that interview was a whole lot of fun. There's a whole lot of fun and hopefully we get some more in the future with Jeff and just with really whoever, man, really whoever. I appreciate you all allowing me to do something for a job that is fun, that we enjoy, and that we can share experiences like that with all of y'all too, because without support from y'all, then there ain't gonna be none of this stuff be happening. So I appreciate it. Another thing, I gotta give a shout out to my guy, Strength King, my guy Kev, because he hit me up on Instagram and he said, what if I told you Marlon Humphrey was only drafted one year before Lamar and company? It seems like he's been here much longer, or is it just me? And I was like, no, that's wrong. He was drafted two years before Lamar. Wasn't no one year, he was drafted in 2017. Like and Lamar was drafted and then I was like, oh wait, hold up, it actually was one year. And that like really had me tripping out, man, because I'm like, man, it seemed like Marlon Humphrey, it seemed like he'd been around for a long time. It seemed like he'd been around like significantly longer than Lamar, not like five years more than him, but like it seemed like he'd been around like two, three years longer than Lamar. And for him to have literally just been drafted like right before Lamar, that was crazy to me, man. But shout out to my guy for bringing that to my attention because I did not even realize that. But anyway, it's draft season, it's draft time. The draft is literally, I'm recording this on Tuesday at 6.40 PM, April 26th. So the draft is in two days. It's in a little more than 48 hours. I think it starts at, what, the first round starts at seven or eight, I don't even remember. Y'all know we're gonna be doing the last year or whatnot, y'all know how it goes. But anyway, Ian Rappaport, shout out to my guy Brent, Brent G on Twitter because I'm not gonna butcher his last name y'all know how to say it. But he has showed a clip, a video that talked about the Ravens, that they had been making some calls to possibly trade up. And I just wanted to talk about what that could possibly mean. If the Ravens are making some calls to trade up. Now, we obviously know it's not for a quarterback unless you're Bucky Brooks and you wanna use his sister, no, not for quarterback. Ian Rappaport said that it could possibly be for a pass rusher or a quarterback. Now those are some legitimate needs of the Baltimore Ravens but let's talk about what it even means that they are possibly trying to trade up. One, smoke screen, could be a smoke screen. And shout out to y'all because y'all are on it, man. Y'all are on it. There was a thread on the Ronnie Stanley video and there were like probably several of them but there was a thread on the Ronnie Stanley video that talked about how some people felt like this was possibly his camp leaking this stuff out that Ronnie Stanley was ahead of schedule or he's on schedule and on pacing whatnot.  And if a tackle for certain tackles dropped then Ravens would be like, oh, okay, ain't nobody gonna see this coming and grab one. So shout out to y'all for being on that. And I think most people, like most Ravens fans that I saw in the comment section they were very happy about the news about Ronnie Stanley but at the same time they were being cautiously optimistic because we obviously hope that he is on pace for 2022 to start, but we hope that he's healthy and stays healthy and remains healthy. So that's a lot of big ifs but Ravens, they can't go into this season relying on ifs. So I will still expect them to take a tackle. But anyway, back to this news about them possibly trading up. Could be a smoke screen. Could be a smoke screen to sort of try to put some pressure on some other people to trade up to really get a certain play that they want while the Ravens may have somebody else on their mind. It also could mean that they are trying to trade up which I don't think many people would have a problem with that. You have 10 draft picks. There's no way you really getting ready to sign 10 rookies. 10, 10 rookies? No, there's no way. Like there's no way you're adding 10 rookies to the roster. I just don't, I just don't see it happening. Maybe like seven, okay, seven, but 10, I don't see it. So I could legitimately see the Ravens trading up to try to acquire more picks. I mean, excuse me, trading up and using, look at that, my mind is scrambled right now. I could see the Ravens trading up and using some of the more picks that they have to trade up because they have a lot of ammo, especially in the fourth round, you know, fourth round, they got like 50 million picks there. So I could see this as something that could be legitimate. Now, it could mean that they want quality over quantity. And that would be having less picks, yeah, but having higher picks, yeah, yeah. And I wouldn't be mad at that at all. And I don't think really anybody would. Now, another thing it could mean is that, yeah, they got their eyes on somebody. Could mean that they got their eyes on somebody. A lot of people have been talking about K-Von Tibido and man, I was watching a clip from him talk to, who was he talking to? I don't know if it was Adam Schefter, Ian Rappaport, somebody else, maybe it was Dan, not Dan, you're J-Mine, maybe it was Andrew Siciliano, maybe it was him. But I was listening to this guy speak and I'm like, man, this dude sound like old school guy, like he been around the block and whatnot. He sound like he got so much life experience, like the way that this guy speaks, he speaks with so much knowledge. He is very careful in choosing his words. He, I just loved hearing him talk because you thought like his answer was gonna go one way, but he kept it calm and he didn't fall for the bait. Cause I think the question was, oh, why aren't you considered to be the number one pick or something like that? But you know, a lot of people could have been like, hey, I should be the number one pick on the best play in this draft, or I feel like I'm the best play in this draft, but his, I forgot exactly what he said, but I was very impressed with his answer. And I'm like, man, okay, man, I see you. You got your media training early and on point. But yeah, the Ravens could be interested in somebody that maybe some of us are thinking about, maybe some of us are not thinking about, but it could really mean something real, something true that the Ravens are trying to trade up. Another thing too that it could mean is that they actually want to trade down. They actually want to trade down. There's been a lot of talk. And right now you're gonna literally hear everything.  Of course, recently, like today it's been all kind of stuff going on. It's been all this talk about, oh, the Houston Texans, they did the most extensive homework on Derek Stingley and then they're talking about the Jets, then talking about the Houston Texans. Oh, that pick is the wildcard pick. And I'm like, man, let's just get to the draft, man. Kyle, I'm like, let's just get to the draft, man. Cause I'm just ready for all these questions to be answered. I'm ready for all this stuff to be cleared up. So we know exactly who's going where we get to see it and it gets to come to fruition and it's done. It's done. It's no more ifs, it's no more wonders, it's no more, oh, could they go here? No, they are picked, they're selected and we ready to go. So I'm excited for it, man. I'm getting a little more and more excited as each day passes and as each day goes closer. But as far as Ravens, again, they got so many options, man. They have so many options. One of the things that I've been thinking about is if they were to trade back, they already, I mean, they show they ain't afraid to do business with the chiefs. I wonder if the chiefs, if the chiefs really had their eye on somebody, would they trade their two first round picks to move up to 14? And I'm sure the Ravens will probably get them something else, like a third or a fourth or something like that. Or the Green Bay Packers, the Green Bay, now that's a little tricky one there though, boom. But the Green Bay Packers would be another one. Is it the possibility that the Ravens could trade their 14th pick for two first round picks from the Green Bay Packers? So they're gonna have some options. Then there's rumors today too about the Eagles. The Eagles been calling about moving up, I think too. So I mean, you're gonna hear everything right around now. And these rumors, they're gonna start to heat up more and more and more. That's why I'm just ready. I'm just ready for everything to go down starting on Thursday night. Oh, we did actually get a draft trade though. I think the Patriots, they traded like a fifth and sixth or something with somebody. I forgot who it was, but that happened. So that was the first big blockbuster draft they trade or trade of draft picks that we got so far. We ain't had any other ones yet, but the Patriots, they the first, whoever the other team was. I mean, when I read it, I was like, oh, okay, well, there we go. That's earth shattering right there. But anyway, we'll see how this thing goes. We'll see if the Ravens end up moving up, because again, if they want to, they can. If they want to, they can't, they really can. They can move up, they can stay put, they can move back. But one thing, in my opinion, I think if they do move back and they acquire, for instance, they acquire multiple first round picks. They trade that 14 and another one for two first round picks from somebody. Then I think that they would still use some of their other picks later on to move up too. So they would trade back in the first round, but use some of them fourth round picks to move up in like maybe the third or in the second package gym so they can move up somewhere else. So Ravens ain't staying put this draft man. Not necessarily not staying put at 14, but they're not, for every draft spot that they have right now, they're not just gonna stay there. There's no way, not no 10 pick, there's no way, absolutely no way that they just post up, all right, every draft pick that we got, that's what we picking now. They ain't doing that, ain't no way, no way. So let's see how this thing goes. I'm ready to see it. I know y'all already, oh, I know y'all are ready to see it. Tomorrow we are going to have a, one more question from subscriber. It's probably gonna be a very long episode cause we got a lot of questions. Y'all don't need to send anymore. We are already set, and probably if you send a question it's not gonna be part of the episode now cause we already got it set and then we'll be at the draft and then boom. Then after the draft, then send all the questions that you want to. I like y'all already do, which I appreciate. We all appreciate cause they're fun. But yeah man, I'm gonna have a nice long question from subscriber episode. And then boom, then the following day it'll be draft time. So we of course, we'll be doing our draft live stream. That's the plan. So y'all come through, it's gonna be fun as usual. Well, hopefully it's fun. Hopefully everybody enjoys themselves and whatnot. But it's always fun. We always draft the first round of the NFL draft been doing that for, I feel like six years, maybe seven, something like that. Something crazy. We've been doing it for a while now, we love it. So I love y'all, I appreciate y'all. Again, I appreciate everybody coming through on the video with Jeff Zribick and big shout out to him for even being willing to come through. I love y'all, y'all stay up, we out.


Welcome here to the Expo 2020. We're going to do videos with all the countries in the world showing all the cool stuff that they're showing and all these pavilions, lots of technology, lots of special exhibitions, special products, special kind of like promotions about all the industrial innovations in the world. We're gonna check it all out. Let's go. Let's check it out.


So real quick, I just wanted to announce that the Archer demo character that I have slowly been building ever since I started learning ZBrush a year ago is finally complete. And this is kind of a special moment for me because when I started making this character, it was also when I started my journey to try and step up my skills and transition from a low poly artist to a high poly 3D sculptor. And I went in with the intent to create high res characters that could specifically be brought to life in Unreal 5 and compatible with its physics engine. Now, this was an extremely daunting task because at the time I had zero experience with Unreal, high poly stuff and zero experience with ZBrush, literally learning everything all over again. I had no clue what it was going to look like or where it was going to go. But a year later, as of today, I finally got not only the character model textured and animated inside of Unreal, but we also got the physics working on things like the sash around her waist, the quiver for the arrows and her hair. In addition to all that, she is built from the ground up for Unreal 5, so she uses the exact skeleton rig and proportions as the default Unreal 5 female mannequin. But what this means is that any animation that you can find from the Unreal marketplace made for the mannequin, you can literally just drag and drop straight to her without the need for any retargeting. And all the physics for everything else automatically just does their thing. But by far my favorite thing about this character that I never really had before in my previous games is full custom color control. If you go into the project file and under material instances, you will see instances for the body and the armor. And if we click on the armor, you'll see colors over here that if you click, you can change to whatever you want. So for example, if we wanted to change her clothes from green to blue, we just go in and click here. We do it for the armor and now do it for the body and look at that. Now she's blue. And if we wanted to change the color of her armor from silver to gold, all we got to do is go into the armor instance, find the silver and then change it to gold. So this is basically the type of system that I will be using for every one of my characters going forward. Now in the future, I'll definitely be adding more animations to her for RPG style attacks and probably some more physics and sound effects for when she's moving around and jumping. But for now, essentially she functions exactly like the default third person mannequin. Anything you can do with the mannequin, you can do with her. So for anyone who is interested in adding her to your own Unreal project, you can find her on my art station store over here. Installation is super easy. Once you download the file, you'll see something called RS Archer. You just drag that into your documents where Unreal normally puts all your projects. Then the next time you open Unreal, you can straight up just open the file. The personal license includes everything that I've shown you here. The full demo third person Unreal 5 project file with the character mapped over the default mannequin with all the physics, all the color customization features applied ready to go out of the box. Something that I've also included for those of you who don't really care for the custom color system are standard baked texture maps that function just like any other normal texture. So if you just wanted to take her out of Unreal and apply her to your own rig in another software, you can find all the textures for her right here. Just remember that these are just normal textures and they do not work with the custom color system. And if you really like the character and you get the commercial license, then I'm also going to give you the bow and arrow that I have specifically designed for this character. The textures and materials are of course included. And I've also included two animations that I have created to start you off. You can of course just drag in any animations you want from the marketplace, but I always like to add some of my own personal custom animations to my work to give things a little bit more personality. So when I was designing this character, I was specifically thinking of her in terms of a fire emblem unit. And in fire emblem, you have two animations, a normal attack and a critical attack. So here is her normal attack and it was kind of hard to make a spinning bow and arrow animations, but I did the best to kind of do what I could. So here's what I came up with and I promise it will look a lot better once we add special effects and stuff. But for now, one normal attack animation and one critical attack animation and the weapons are included in the commercial license. I've also included a separate version of the character where she is holding the bow and has bones in her hand to represent where the arrows and weapons should be. And I will be including the raw Maya files in case you want to go into the animation and change things yourself. But yeah, she is available now for anyone that wants to use her. But even if you have no plans to use this character, I just wanted to take a second to say thank you to everyone who has been watching and been a part of the channel this whole time. This character really is a summary of everything I've learned how to do in the last two years. And if you've been watching the tutorial videos of what we've learned between now and then, it's pretty insane to look back how far we've come. If you are part of the support squad, please understand that none of this would have been possible without you. If it wasn't for you guys supporting the channel each month, there is no way I would have ever had the time and resources to even pursue learning all these new things. And I'm grateful for all the people who bothered to leave likes and supportive algo comments each video. Like, really all of you guys together just make one of the most awesome and supportive communities out there and really inspires me to keep going and continue to learn new things and share whatever I find with you guys here. And I still stand by what I said in the beginning of the channel in that all of the information and knowledge needed to create everything I do is here completely free. And it's going to stay free for everyone trying to follow in our footsteps. To everyone out there, thank you so much for everything. I will do my best to keep it up. And as always, hope you have a fantastic day and I'll see you now.


We are from the Game Theorists and Film Theorists YouTube channel. We run some of the nerdiest channels on YouTube. We basically fuse video games, TV, and movies with science and math to teach you something while you're also talking about your favorite movie or TV show. Over the course of the series, I've come to appreciate this whole world of indie games and indie developers that I never honestly would have discovered. The Binding of Isaac, which is this like crazy, creepy game, or Fran Bow, which is this other, you know, kind of horror game. One of my like top, I'd say top three games of last year was this weird indie gem called Kindergarten, where you literally repeat the same day of Kindergarten over and over again to try and save your fellow classmates from like an evil murder plot.   So that one is just out there. In fact, Stephanie became a fan favorite with her nugget. So there's this one character named Nugget who has these nuggets of friendship. The nugget voice became a favorite on the channel. One of the things that the channels help encourage us to do is stay on top of gaming trends and so, you know, we can see that FPS shooters are on the way out and it's all about, you know, it's all about arena competition now and we can stay on top of more of the mobile games and the eSports and so it just gives us a much better handle on what's going on in gaming as we were the first people to discover that Super Smash Brothers actually has a storyline. If you look across the various games in the franchise, so the story of Super Smash Brothers as a franchise is basically the developer's story of growing up with his favorite Nintendo characters. Another good one that we did recently is that it and the Stephen King universe might actually include Wrinkle in Time. Yeah, the classic children's story is actually a part of the wider Stephen King macro verse, which is wild to think about. So I'm really excited because the new God of War is actually coming out at the end of this month. We've never actually addressed it on the channel, but I've always been a fan of the games and so I'm excited to see after kind of this long hiatus that the series has been on where it's going from here, what they're going to do with kind of the new direction that they're taking Kratos. For me, there was a Kirby game that was just released. I am an old school fan of Kirby on Nintendo. So Kirby Star Allies is really exciting for me. And it's a game that we can play together, which is also really fun. I think you could definitely lean in on this. The new Smash Brothers, they announced is coming out in 2018, which I don't think anyone was expecting. So I'm really excited to see where they go with that. Five Nights at Freddy's Games reach reach their conclusion at the end of last year, right? So this is obviously a game franchise that has been an integral part of our channel and on the live streams, the creator of the series to kind of culminate this whole six game arc is releasing this ultimate custom night around August, he says, where it's it's a greatest hits collection of 50 different characters from the franchise, all crammed into this one insane gameplay experience. And he's been slowly updating people. It looks like it's going to be one of the most difficult, frustrating, like ramshackle games ever. But I love it for its craziness. And I can't wait to see how it turns out. Oh, man, if I could cameo in any game, I call see, I call Smash. Yeah, you want to be in Smash, but what would you be like? Would you would you be yourself or would you be a character? I think I'd want to be myself. And what would your powers be? The power of great voiceover in live streams, pro tips, that kind of stuff. I could come up with my power set later. I think first the outfit and then the power set. OK, yeah, get your priorities straight, people. First, the outfit here. I mean, again, angering literally everyone online. I would love to be in the Five Nights at Freddy's game just because it I have spent literally the last like three years of my life trying to solve this this darn game franchise. You know, as it comes to a conclusion, I would love to actually voice over the role of the phone guy, who is this kind of like nerdy tutorial voice who starts off every night, especially in the classic games in the series. And so I feel like it would be a really big honor to be included as the phone guy in Five Nights. Yeah, totally.


The authors describe Kandansates as complex fluids with small-world network structures in their interior and interfaces that prefer locally and globally expanded confirmations. This article was authored by Mina Farog, Samuel R. Cohen, Wade M. Borchett and others.


The quantum properties of hydrogen atoms in zeolite catalyzed reactions are generally neglected due to high computational costs. Here, the authors leverage machine learning to derive accurate quantum kinetics for proton transfer reactions in heterogeneous catalysis. This article was authored by Massimo Bocas, Ruben Gaumann, Aaron Lamaier, and others.