Welcome everybody, great to see you, and I'm so pleased that there are so many people with us both here and around the world who are listening to this. Fantastic to see you all here. So in welcoming you to this final keynote speech which is being delivered by David Cavallo, who's vice president and chief learning architect for the One Laptop Per Child initiative, I just wanted to say great to see you and to actually share with you the kind of work that David does in the context of digital divide. We thought it was very important that you actually are able to listen with us to this presentation and thank David for kindly agreeing to talk to us as part of his very busy schedule. He's come over here from Boston and he's en route, would you believe, to Mongolia, to a place called Ulaanbaatar, which is the capital, I believe. So thinking about David's work, I was actually kind of contemplating the noise that sometimes technology is the excess, the enormity of the information in front of us that is roaring past us in a sense every second on our journeys in learning and in technology. And I was thinking about that quote from T.S. Eliot from around 1934, I believe he wrote it, in choruses from the rock. The endless cycle of idea and action, endless invention, endless experiment, brings knowledge of motion but not of stillness. Knowledge of speech but not of silence. Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information? In an enormity of the information age, what is important in terms of social inclusion? What is important in terms of the way that children are empowered? In the way that learners actually are enabled to find agency and to find meaningful learning? Sometimes in situations that are destitute around the world, where there is difficulty, where there is poverty. What is important in this initiative is shown very much in the kind of work that David has done. As a person who has been both co-head of the MIT Media Lab future of learning group, which focuses on the design and implementation of new learning environments that are aiming to change the way we think about both learning and school, David's work has been inspirational in terms of designing and building numerous knowledge-based systems for industry. He has advised many heads of state on the adoption of advanced technologies for learning. For this ALT-C 2008, it's an important speech to listen to on digital divide. As a research scientist, David is reminding us of how stretching people's thinking and imagination about what is possible in learning technology, particularly in situations of social exclusion, particularly in situations such as the One Lab per Child initiative, are actually helping, is very important. I am delighted to welcome David Cavallo to do this speech. It's good afternoon, I guess, or at least in this country. And thank you for a wonderful introduction. And actually it's one of the nicest introductions I've ever had, because the quote really succinctly sums up what I'm going to blab on about for 40 minutes or so. So if you just get the one part that's already been delivered, which is like, where is the knowledge we have lost in information? When we talk about bringing laptops or connectivity or digital type of inclusion, too often the focus is only on you make information available to everybody. Obviously there's something good in that, but there's not something good if the knowledge gets lost in it. And our focus as educators often gets lost in the same. When we focus on information and delivering information to children, and that's what we think, and we think of instruction, we think of passing information, what's the best way to package it, and we lose the essence of what really why we would care about a child's education in the first place. So maybe I should just stop right here and take questions, because that's actually the whole point, right? And so I was going to actually say that it's kind of nerve wracking to be the last speaker at a conference, because you're worried everybody's going to try and catch their train before you talk, but we're here. And I wanted to actually just give you a little travelogue first. This is a little village in India. It's about three hours or so outside of Mumbai. As you can see, it's not the worst village in terms of condition that you'll find everywhere, but it's pretty rudimentary. And they've had laptops in this village for about 11 months and prototype machines, and they're all still running, it's really quite lovely. That's the classroom. No electricity. You see the wall, just the window coming in, but there's not much more to it from where the picture is taken. So this is about it. I think there's 23 or 24 kids. It's a mixed-age classroom, and they've been working for about a year, and it's like one of the nicest things you'd ever want to see about what's the life in the village. Now often when you talk in ministries or in capital cities, you'll hear people say, you know, why you can't change things. The teachers are no good, but the teacher that's in this, I didn't put a picture of him in this, but the teacher in the school, he's been there for seven years, he's spectacular. This is one of the best teachers I've seen anywhere. Now, fortunately for us, he's agreed that he's going to start working with other teachers around because it's a local language in that state, so he's capable both in English and in that language, and he's going to start working with other teachers, but his wife's going to take over teaching for him in this school such that the children don't learn as it starts to grow. You see the children at the end of using the laptops, they all wipe it off with the little cloth and they share things, and some of the kids, you'll start to see as you're just there. Kids are teaching other kids, they're working with each other, some kids are quite spectacular. Localized for that language are actually people from the free software community in that region of India, did the localization, so only maybe I think five days before we visited this, on this visit, did they actually have the interface and everything in their local language because these kids don't speak English, and yet they were able to work with the computer even though most of the interface was in English because they found a way to actually chat with each other, making it into their own language, and they had programs and they were able to search and browse and they were able to create quite a bit. They compose music, they draw, they write, they program quite a bit, they play games, and it's really quite amazing. You see some of the kids really just excel, but what's nice is that those kids that excel then wind up being kind of co-teachers and they work with other kids. So when you hear from the outside, there's no electricity, the teachers are too bad, we don't have materials, you find that quite something different happens, and I'm going to keep going through. This is in Haiti. It's in an area that actually right now is under water because they've had three hurricanes go through. It's a little community called Bat-Thomas-O, which means lower Thomas-O. It's maybe three hours outside the capital, but that's not that far in distance, but the roads are so bad it takes about three hours. As you see, I don't know that you can really tell. There's no electricity in this school either. It's four classrooms where the fourth is this, that's actually outside the school. They divide, it's a primary school. They divide them into about four grades and then they mix the kids and by age and then they work with them. Again, we saw one of the best teachers that we've seen. They are just now receiving their laptop, so this was from a visit from earlier this year, and you would see one of the teachers was actually working with his students on a lesson about what happens and what they would expect if they migrated from the rural area and moved into the capital. It was really quite astonishing. It would surprise the people in the Ministry of Education, but you saw really what a wonderful job this person was doing, not because that's certainly not in the curriculum for that day, but really to engage them in thinking and talking about were they fine and what are their ideas and how do you do that. Again, we found excellent teachers working, in this case, working with the knowledge. Now, I don't have a picture from a school like this is really just a very small community around that school. Maybe about 20 minutes down the road is the main town, a lot of little satellite towns. The idea of saturating is that the laptops are going into all the schools in the region. It's bringing some connectivity and Haiti we have to do quite a bit about alternative power, but the connectivity then is going to be able to spread from the main area out into this community and what they're able to do. In the school that's in the main town, we went in and we visited a mathematics class just by chance and these were kids that were about 10, 11 years old and they had no paper, no pencils, there were about 60 kids in the classroom, one teacher and the lesson plan for that day, and this is dictated by the Ministry of Education, was on the multiplication of two digit numbers. So if you don't have paper and pencil and you have a board in the front of the room but you don't usually have chalk, so how do you teach multiplication? The bigger thing would be why are you teaching exactly that? So what could they do as they're teaching two digit multiplication?  So they would do the lower numbers, 12 times 17, something like that, one kid would be at the board and most kids wouldn't be paying attention. And that's the reality of the school. Lots of kids, no materials and you're thinking about it. But then you start to say, well, why are you teaching two digit multiplication that way? What's really that important about it? Certainly we care about do you understand what multiplication is and can you come up with the right answer? But if you can come up with one digit and then two digit, basically by extension you know you could do all of it. It's just kind of the mechanical processing. What you really want them to understand is the idea of place value, what's multiplication, why would we do it, magnitude, what's an operation. We tend to really quite some rich mathematics that way, but we don't. And so why I'm emphasizing on the mathematics is that we're so enured to teaching mathematics the way that we've been teaching forever based on how we thought of mine, based on what materials that we had and we had paper and pencil, based upon how we organized school that we kind of lost sight about why do we care about children learning mathematics anyway. And more than that, we're not looking at the fact that for the most part we do a pretty rotten job of it. We lose kids in a lot of ways. One of the jokes I like to tell is that if you speak three languages or more, you're polylingual. If you speak two languages, you're bilingual. And if you speak one language, you're American. Now, we actually teach foreign language every day for most children in the US. And starting to get eliminated is we're worrying more about your math scores and tests and your reading and writing scores. So these things that are kind of thought of being a little bit frivolous like art or music or foreign language is kind of getting left to the side for so many kids so that we can just drill into them more and more without thinking about the what and the why. But if you think about why is it that even though you have instruction year after year after year, and in some cases if you actually get into university you probably had 12 or 13 years of foreign language instruction when you come out and you don't speak the language. How is it possible? Could you design something to have that as the end result if you're really trying to say I'm going to have something go through a lesson for 13 years and I want them by the end of it they don't remember except for about five minutes of material, you might screw up and do better. Right? And so we think about what we don't have is a culture for why do you use the language? You go to another country, you stay there, you're going to learn that language because you're in the culture, because you want to communicate because these are ideas that are generated and you're going to read the paper and you are going to pick this up because you're in the culture you're around other people who speak and you're speaking about ideas and we've lost that about that's what mathematics really needs to be about. And so in Haiti if you say you're comfortable with mathematics you start to say if you multiply a five digit number by a three digit number more or less what's the answer going to be? And that's actually more important than to be able to crank out that exact answer but we spend so much time in school getting them to mechanically knock out the answer. And yet we lose so many kids and so in the US in terms of equity and where we have a divide you see that in the fields of you know STEM and they call them US science technology engineering mathematics we have a horrible situation in terms of equity across almost any line you'd want to draw whether it's gender whether it's class, whether it's race, ethnicity we just don't do well and you just don't have to think about why is that the case? And you'll see some articles which were really frightening to me there was a special issue of the American Education Research Association some years ago maybe 10 or so but saying well why is it that girls don't do well in math and most of the answers were like well some range from well so what doesn't matter they can do other things and they'll do that wonderfully or it's like influence of boys in the classroom but one of the things that we've really come to believe is that the type of material that we choose to introduce different fields or to do what does it mean to do mathematical work is so influenced both by the past how we've thought about those fields in the past and what materials that we have that you can get quite different results in terms of equity when you take a different stance towards what does it mean to actually do work in mathematics or an engineer and science and so at the heart of what we're trying to do with the laptop initiative is that is that how do we create environments where not just we're pumping information at children we're doing the same kind of thing with a computer that we did without the computer but how do we make it more open for children to really be active to express their ideas to think and to participate in these cultures so in rural areas like this one what's the limit to these children's mathematical knowledge well it's what they're going to do the wonderful research in Brazil with street children by Nunez Karaher and two others and I'm sorry but you know I'm blanking on the name but the article is called 10 in the streets zero in the schools and they work with street children in in Recife in Brazil and they would give them problems and this is back with a different currency during inflationary times and a lot of the kids are selling candy in the street and they sell three pieces for five hundred and they'll present them a problem based on candy and just right on their head and they say well if I want to buy ten how much is it going to cost kids get the answer right if I give you a five thousand note how much change do I get get the answer right during inflation you could even ask the kid if I give you this much now and this much next week they never got the answer that cheated themselves so they really did understand it the research though showed that like when you gave them the exact same problem in the school way you know just here's the word problem or here's the equation they got it all wrong so they were capable of actually doing it and say there's something missing in their mathematics education but they did understand the mathematics and it was there to be built upon and they do have the capacity so what's wrong is this kind of way that we're teaching the mathematics or engaging them in the culture but if you're in this rural area and the teacher herself or himself probably has not had a strong mathematical background either so this vicious circle where you have the problem of culture and a culture of doing mathematics or a culture of loving literature or a culture of thinking about music in that who you're working with and what they think about it is actually who you get to do it with is a major major influencer so if at home and if in the school you're going to pick up what you need in the community but there's a lot of wonderful research that shows people like to do quite well kitchen math grocery store math like that it doesn't get beyond because people don't have the contact we don't have the resources to really get to be in a different mathematical culture and that's the kind of thing we can do not by shipping mathematical texts or information or the way that is viewed but by being able to engage in these kind of activities and unfortunately a lot of the mathematics reform has gone kind of wrong by trying to like loosen it up and make it more fun or saying oh it's contextual because we're talking with a child you're buying nikes in a school as opposed to spending 17 or whatever it is on shoes therefore it's more contextual and they're going to resonate with it more and it's rather silly and we don't see advances and then people say see don't reform and it doesn't work we got to stick with the basics forgetting that by doing the other approach we also had a huge problems what the computer gives us that other materials don't is that we actually have the chance to engage in real mathematical thinking when we have connectivity you can engage in this with other people so one of the projects we're trying to implement in Haiti is that there'll be 14,000 laptops there within another few weeks it'll be spread through four regions of the country we can connect sensors to this and one of the things is going to be a study of water how much is coming where does it go obviously it's really pertinent to them at this point but really to start to get this as a study and then you start to look at what's the flow how does it happen what's the quantity how does it get used what's clean what's not how do you study this we're aggregating the data region to region school to school actually gives you a different picture and makes you think about it in a different way as we can extend this to other countries to other places and really start to grow this not where the children become little data collection devices but they actually really engage in a real investigation and then you have access to people who are assisting who do have the knowledge and have ways to work on it who work in the way we're more used to in the university where you treat it as like it's a research project we're giving advice and we're not just giving information you can get incredibly different results but the bigger part of those results is something that we've seen already we've had laptops now out starting with the prototype since about February of 2007 so a little more than a year and a half something that we've seen everywhere is that school attendance which in a lot of the rural areas is often 40, 50% or less goes up over 100% now you should say how does that happen isn't that a mathematical error but what it is is that you get in Cambodia twice as many kids registered for school than it had been registered before in Urtagwai but in Haiti and Rwanda where you had low attendance not only did you start getting full attendance you had kids showing up early staying late and coming back on the weekend to do things the parents then start to think of it in a very different way of the value of education as they're seeing it and just giving the laptop to a child actually is a very strong statement right there because these are children for the most part really quite marginalized and when you give them a laptop and they know the value again from the outside everybody said it's going to get stolen, it's going to get sold it's going to get lost or whatever and it just hasn't been happening because the people are realizing the value and what it means to them and so for the children of the things we've seen is that their vision of themselves who do they see themselves as is already starting to change it's starting to change because of a message of inclusion but it's also starting to change because of engaging them in a more rigorous a more intellectually satisfying way of working and learning that they as they succeed at it think of themselves in really quite different ways this perhaps is the thing that's the key to real change in achievement now it's not happening by just patting someone on the head and saying isn't that nice and aren't you a good kid and giving encouragement of course you do that but the bigger part is through the actions and engaging them as thinking thoughtful people with ideas that are to be respected and that they go out and they can be confident learners by accomplishing things that I think is actually quite tough and that is the bigger part and along the way you're picking up these ideas this bit of mathematics this bit of programming reading and writing that really those things are what makes the change this is in Haiti it's from the top of we ran a summer camp during just to introduce with the teachers and to do a lot of the teacher development so as you see they spell out the XO which is the name of the laptop this is the neighborhood of the first school in Sao Paulo it's really on the periphery of the city that's a as they call there a favela or it's an area of invasion people have moved there it's really tough it's pretty rudimentary that was one of the places everybody said the laptops will be gone within a week and they're not in fact we're actually replenishing them and it's really growing and you know for those kids again it's just really quite an amazing statement as they really start to work on this and in Portolegre which is a second city in Brazil laptops for a year and a half now we didn't have laptops for every child in the very beginning so we used the older children to help mentor the younger children and so one of the so this is a school that goes from the first grade up until the 8th grade so about from age 6 to whatever 13 or so and the older kids because you know we had every kid keep a blog they would keep a record of their projects they would write it they would comment and so every kid was reading and writing much more before because why they wanted to publish their research they wanted to publish their work we brought them to the university and one of the types of inclusion that we started to see is that this school is actually literally and the two reasons it was chosen is that one it's a small school and we could actually give every kid a laptop in the beginning when we didn't have that many and two it's next to the university that was helping to support the project but for those children who lived in you know not in a neighborhood quite this bad but still this kind of like area of invasion those children lived next to the university but they might as well have been on another planet now we can talk about Brazil but being in Cambridge in Boston in the US I have to be careful other people here think of a different Cambridge if I say it but you know so we have MIT we have Harvard we have Boston College Boston University Tufts Brandeis a large number of incredible schools 500,000 university students or something like that and for most of the children in public school in Boston we might as well be on another planet as well it's just not their reality they don't see themselves going the statistics are in Boston 40% of the children who enter high school do not graduate in the Boston public schools 40% and that's thought to be one of the better ones of the big cities in the US in Detroit it's 73% almost three kids out of four start ninth grade don't finish 12 so what's the future for these children what's happening at University of Michigan Wayne State you have many wonderful academic institutions there but it's not the reality for these children we're just losing too many kids and it's both unconscionable it's certainly going to lead to further and further problems of the future especially as economies change Detroit used to be the auto capital of the world and now you have those companies basically all in danger of going out of business you don't have work there you don't have kids graduating high school you do have these huge separations of thinking of mathematics or of literature of creating where are we going to be we really have to address all these issues but knowing that the fault isn't with the children themselves in terms of their capability it's in how are we doing things and it's kind of so it's like this push back in the US towards more and more testing making it high stakes and just really driving down and sticking to basics we're losing even more kids and so it's not the right approach but when we start to do these different things of giving inclusion of thinking of the environment in different ways and customizing and making very different content we can get very different results the issue is we can't really have been able to do it at scale this is can't be this is Rwanda so I'm going to go quickly through a few more pictures this is Rwanda when they handed out the laptops in one of the schools about a week or two ago celebration is really just quite beautiful there when we were first planning this is from a few months ago when we were visiting the schools we were thinking of going and I get there and we have 10,000 laptops that we've donated and at first I think my god 10,000 laptops that's going to be really hard, that's a huge number and then we visited this school and on average the schools have about 1,500 kids and one school actually the school with the other picture has 3,000 kids and so then you start to think 10,000 that's a small number, that's five schools what are we going to do where there's 2.5 million kids in school in the country or of school age and so in this school and I took this photo I don't know how well it shows up this is the number of children in each grade separated by boys and girls and then their ages so the ages are the columns and you see grade one, grade two and going forward in which are boys and which are girls so a couple of things to notice when you get to grades three and four you have an age range of seven years across kids so kids in the third grade go from eight to fourteen and that's third grade so the school has their own way of passing a kid year to year then you also notice if you get up to the fifth and sixth notice the numbers are really getting quite small there's only 92 kids in the sixth grade yet there's 356 in the first what's happening we're losing kids why do you lose kids at that point or leading up to that point there's a national sixth grade exam before you get promoted to go forward in the rural areas in this school is something like 12% of the kids pass the exam you had this kind of an issue yet what was the problem is that they still weren't changing how they worked with those kids in those schools despite the fact how many of them are being lost how big the age range is now they had something nearby this they called a ketchup school where they had the kids who were so over age but still hadn't gone through primary school so they give them six years and three they're all older and they all do pretty well and having a mischievous streak I said why don't we just do that for everybody and everybody looked at it like well that's just it you couldn't do that but that's the question that we have to start asking ourselves we really have problem in every country and across countries in terms of equity on all these different lines and let's start thinking deeply about what could we be doing differently because you go country to country and then inside even place to place capital city to rural area here to there that's really quite different but you go to the schools and it's all the same and it looks the same and you see these unconscionable things in Haiti people speak Creole the teachers speak Creole they're taught in what in French there's a local language you get to school and you're taught basically in a foreign language and then we wonder why aren't these kids doing so well and Rwanda starting it's really supposed to be instruction in English or French yet the children and the teachers speak Kenya Rwanda and then at some point they switch and by third grade you have to be speaking the other and the teachers aren't that fluent in it and you know so people do learn it but it's just not effective and you'd say alright now as a national strategy they do want people to learn other languages there but it's thought of in different ways because they don't have materials to teach in these languages so as researchers and given that I want to be at least semi-conscious of time you know as researchers there's really a tremendous promise that we have it's really you know I hope that all of you will engage in some kind of way in working a project of this type not necessarily what we do but there's so much work to be done and there's so many ideas needed nobody has all the right answers for how could how should school be as we go forward but we really have a huge crisis everywhere that at the elite level we're able to manage but for most children especially when they're not in the majority in a place it's not a wonderful experience in school and even those of us who had a wonderful school experience it's usually actually the anomalous part of it I had this math teacher it was really fantastic I had this literature teacher when I was in university Alan Kay who from Xerox Park way back when and part of our board and kind of came up with the term personal computer likes to say the best time you had in school was kindergarten and grad school because that's the only time you get to do things and every other time you're just talking about it and that's the information side as opposed to the knowledge side so the last thing I'll go through I assume the slides will be somewhere this is in rural Thailand relatively it's much better off than lots of other rural countries I had been doing work there starting in 97 but not in this particular village and we had worked with people from the non-formal education section really to think about computers in different ways not to just use computers as devices to deliver information or to deliver instruction but really as devices that children should construct create and express ideas with and now that we have connectivity and also to collaborate and so we had worked on that and started to introduce ideas of that nature and in the rural areas when I asked families is like what do you think of school they would say doesn't give us what we need they stay to get this certificate then they could get a job but that was about it and you say well what is it that you need so we took just ideas like make your environment what you study and so in rural areas we study water we study agriculture we study plants we study things like that they make games they do a lot of things people who worked with us then started to work in other areas and this is Bonsangkha Bonsangkha means village it's near Lampang it's maybe several few 300 kilometers or so north of Bangkok and this they call the learning village they adopted that term themselves and they said they have many projects but the one big activity is it's all about learning for them kids are in school out of school now they have laptops before they had just some computers and they studied in this case they study quite a bit they get their range during the monsoon times they live on a hillside I'm not a great photographer but this is a series of what they call check dams they learned about that from the Ministry of Forestry they had real problems because they used to burn the forest there traditionally they would burn forest to clear land to chase animals and actually to grow the biggest controversy as they started to switch was like there's a certain type of mushroom that would grow after they burned the forest and they didn't know whether this mushroom would still grow if they stopped burning the forest now it's illegal to burn the forest and we know about deforestation we know about all the problems but even though it was illegal you couldn't stop people from doing it they had to decide this for themselves how did they decide this for themselves the research work of the children was the health of the forest how do you know is a forest healthy how do you know you shouldn't burn so they really mapped everything out they studied they learned about this idea of check dams so that when the rains come they learned about losing topsoil they were able to I mean it's an incredible story where they were able to generate a reservoir the reservoir then enabled them to grow other crops they changed their whole income in this period of time they mapped everything out I mean it's just astounding they've studied local culture local medicine what are the plants how do they use them local folklore they have a band using the computer using the laptop that plays traditional time music as well as songs like happy birthday and things like that and it's just rather astounding the teacher again in that area totally transformed really quite incredible you see this children it's just inspiring it's really possible the key issue though is that we had support in each one of these places I've been talking about and we know that what can change what we don't know and what's hard is that when you don't have that strong personal contact can you still get the change and this is what we have to work at but this is the type of interaction and this is the type of computational environment or digital environment that we really like to see created everywhere we've been our laptop I had to leave mine in Rwanda so I'm sorry I don't have it here but each laptop has a camera and everywhere we go whenever we're taking pictures immediately the children start taking pictures of us right back and they keep those kind of things going and it's really quite wonderful so the change is possible what it is is that how we go I want to give a little bit of a homage to Seymour Papert who was my advisor who really got a lot of us thinking and is inspirational 40 years ago he was talking about every child program in a computer and 40 years ago computers cost millions of dollars this was a floor turtle from around 74 or so with kids doing the turtle geometry there but the deep idea there was the computer is the most powerful tool we have for thinking you know it really you know how we think how the mind develops it really can be radically different based on the materials we have and the kind of things we do with it and so this idea of like developing cultures for mathematics or for engineering in these other fields or whether it's music or writing or poetry it's really with that and that's what we need to focus on more than delivering information we need to really take seriously the issues that we have in terms of equity because you know and I come from the US the most guilty of all this but where you have resources and you have huge divisions inside countries and across countries and you wind up with a non-tenable world a lot of what motivated us to do one laptop per child was thinking of the importance of education period for human development for social development for democratic development that you know you really need an intelligent populist because the issues that we face now whether it's water you know climate change genetically modified food you know use of resources whatever it takes real thinking and it really democracies and freedom depend upon our ability to relate to each other and to really think through these issues and come up with the best possible solutions and that's what we really need to focus on from the educational side that often gets lost as we worried about how fast can they calculate two digit multiplication and three digit division problems and we lose sight of what we really care about universal public education for we cared about the laptop in terms of what it can bring for education we care about it being connected so that we can really link children country to country inside countries across countries of what that can do and one of the things we saw about inclusion it wasn't just you're being excluded from information you're being excluded from participating in cultures where people do have particular kind of knowledge and passion and so my encouragement to this group is really to think not narrowly about how do we improve this little bit of the existing curriculum but to think more broadly to really think about these are huge challenges that we face we have potential to do things that we just didn't have before we have children with tremendous potential that's just basically being wasted we have gaps between rich and poor connected and not connected in countries and across countries and this really needs serious addressing the more we can design the more we can engage to really do this not by presenting information or dumbing things down but really to engage in this deep kind of thinking and creation and collaboration that's really what's needed and I can't wait to see what develops from these groups from what we're doing from what children in these areas as they're getting these laptops and what they're able to create so I wish you all well my email cavalloatlaptop.org there's NiaNIA at laptop.org who makes sure because we all get too much email and sometimes things fall through the cracks so Nia's a responsible adult as opposed to the rest of us and so send us mail think of ideas just do things and this is what we need to do is really build a much better culture and language for thinking about learning and how it can happen and spread these ideas so that it's not just treated as delivery of information thank you thank you David for an enormously important and inspiring speech talking about the work that has been run right around the world and the incredible potentiality that there is in developing these ideas so if I could open it out now to the audience if I can find the right button to press technology is that it? okay great we very much like to welcome people to have a word with David ask some questions about his work who'd like to ask the first gentleman at the back if we could just wait for a moment until the microphone gets to you because the people who are watching this on illuminate will actually really appreciate hearing what your question is I just have a quick question could you perhaps tell us a little bit about the design philosophy building on what you've been speaking about behind the OLPC's operating system and how you how you intended to achieve your goals through the use of the technology okay so a lot went into kind of treating it in an integrated way of for the design philosophy we insisted on it being a laptop so that it could go with children we wanted to make sure because children in a lot of places are in school outside that you could see the display outside we wanted there some to be low cost networking capability and that went into the mesh networking it had to have low power consumption we're still trying to really drive that down and so these were more of we saw we could get a camera in there really relatively cheap a lot of the design went towards it being rugged went towards you know it that it wouldn't be hurt by humidity heat dust etc and so that went into the machine itself but then a lot of thought and care went into thinking about the laptop we have a strong commitment to free and open source software not just because of cost but primarily because of the openness we wanted children to be able to see so we have the view source button on the machine so that you can see the source of the programs that are running there with the idea that not every kid but maybe some kids are really going to pick up on that idea and through the having programming tools through connectivity be able to to get there I think we took a first pass at what would be an environment thinking about children thinking about their being young thinking about their not reading and writing thinking that they're not used to working with particular computer interfaces and try to make an and really thinking about an environment to to really facilitate and encourage collaboration and creation and expression and that was the first pass that the team came up with again by working in an open way with contributors around the world but with the idea that it's like this is a first pass and we really hope that new ideas are going to come other people are going to contribute more things will be available so again we took it as a design not just to make a laptop and make it cheap and make the same interface and treat every child like a little office worker but to really think that this is for joyful learning and that that's what we really want to get across and to design a system that could really support that Thank you David We have a couple of questions which have come through from Illuminos and if I could just let people know who are in the room here that we have colleagues from around the world who are actually listening at the moment as well and welcome to everyone from other countries Is there a curriculum and or training program provided to international tutors in their classroom is one of the questions we've had from Illuminos. Do you want to take that now? So it's a curriculum and or training program which is provided for international tutors in their classrooms So I'm going to take a shot at it which would be if it's really thinking about what we would do for people from outside to work inside We actually haven't We run regular workshops at OOPC where we encourage people to come and engage and we've tried to work through other organizations that to collaborate with them and that they would provide this and in the U.S. there's things like the American Association retired people I guess it is and they have a retired teachers group and try to engage them as being these tutors and we haven't done anything normal for them because our role because we're working for many countries and each country has their own curriculum we don't specify curriculum to anybody we do try and bring up ideas of ways to use computers that can make us expand how we think about content and curriculum and we do quite a bit of work with the countries to develop their teams that will work with their teachers but it's one part that's probably missing to think of a program to enable or how we think about what to do for people that would want to collaborate from the outside. Thank you. And if I could say there's a message here, greetings from Kanishka in Bangalore. Hi Kanishka, thanks for joining us. She's asking how are the laptops charged often there may be no electricity how are exos practically viable without electricity? You know it's exactly right we really do want to get to the places that are off every part of the grid the first was to really reduce the power consumption drastically a regular laptop can use at least 20 watts on up to 40 or more and we've designed to aim to get ours down to 2 we're not quite there yet so first by reducing consumption you minimize what needs to be recharged still when you have to recharge you need something to do it we worked on I mean many people remember the crank that was on the original mock-up of what the laptop would be that really stuck with people it wasn't viable as an engineering solution but the idea was that somehow through human power we can find a way to recharge the laptop or again drawing down the power was important to be able to make that viable it's still going on so we have a variety of like pedal powered these kind of yo-yo kind of devices we have solar panels we have very large solar panel that can charge up to about 16 laptops at a time but it's something that we're now really focusing on it's to enable it in Haiti there are other kinds of alternative energy programs going on so we still are somewhat limited in this regard but we're really pushing towards making this viable so that they're alternative methods but in some ways in a lot of these problems it's a chicken and egg phenomenon you don't get devices into places that don't have electrification and the cost of electrification are huge particularly in areas where the terrain is very rough or there's problems of violence or things like that and so but as devices are getting there is creating more of a need and urge and a voice in order to really get these kind of things there so trying to treat it more holistically we're hoping that we provide both incentive and some alternative means and that this creates a space for more work to go on to really address the situation overall Excellent, thank you I think we have space just for a couple of questions there's somebody right at the back here I was just going to say I found this talk fascinating and I followed the project from the beginning and I do have one with me and also having worked in Papua New Guinea and seen children in classrooms with nothing you know it's a fascinating project so I'd really just like to thank you and it's been great hearing some of the background behind it Thank you and actually what's the literature we can say we rely on the kindness of strangers and I think one of the ideas of a general purpose technology is that it's open for different people's ways of appropriating and for expressing and for thinking and the same we didn't look at OOPC ever to be the organization that would go everywhere and do everything quite the contrary we're really hoping that we create a better infrastructure but what ideas, what contributions we hope really will come from everybody including the children of course Thank you there's another question up there and then one down here Hi thanks a really fascinating speech my question would be I live in London and there's certain parts of London where I would be really scared to carry a laptop with me any time of the day not just at night these communities potentially some cases they don't have electricity some may not have water crime, how would you deal if you gave a student a laptop or a pupil a laptop how would that perhaps create more crime or have you come across any cases where crime actually increase because of that and you might have 15 students chasing that one with a laptop Thank you and again in design we tried to do things so that one reason why the machine looks different from all other machines was just to if you see some adult working with it or something unless they're a teacher they shouldn't have it you can disable it electronically if it comes back on the network so there's things that you can do but you can't stop everything and we take that really seriously one of the reasons that we believe in saturation or this grade or a little bit here and a little bit there is you minimize the risk to the children if every child in those communities actually has their own laptop we do a lot of pre-work with the community to talk to them and so actually last year in Brazil the communities and the schools decided themselves not to let the laptops go home immediately but they gradually went in and as they started older children would take younger children parents would show up and the community was kind of accounted for again of the metrics that were kind of nice were that when we had parent-teacher nights and a lot of the schools when there's hundreds of kids or a thousand kids maybe you get five, ten parents show up on parent-teacher night and we actually were getting in the school with 450 kids we had 600 parents and they couldn't even fit them in the school so we got in a community in a parental engagement that really worked towards making things safer you had places where mothers would sew little bags to put the laptop in so a kind of combination of efforts have gone to do it we had one case where the laptops 36 laptops in Peru that hadn't yet been distributed to children were stolen from the school but that's been about it in Brazil where it's as bad or worse than here we lost one laptop out of several thousand and that was a kid who left it on a bus and so we didn't know and we haven't had that we did as many safeguards as we could but the biggest safeguards we believe are working with the community first such that there's value making sure every child in that community has it so one isn't to have and to have not in a different way but to work with the community for what are their ideas for how to introduce when to bring it in and how to go it is interesting enough we've seen quite a number of differences rural to urban but there's a lot of fascinating areas to research in terms of impact effects the kind of things that you can do and I just think that what we're looking for is the rural urban is that in the rural areas where the teachers are less developed we haven't had the same kind of issues in terms of being able to work with children and children teaching teachers we change in the curriculum to really say let's get a more project based way of doing things repairing things where people just say we'll figure out how to do this and create what we call laptop hospitals and so we've seen quite a bit in the rural areas and no crime whatsoever I mean every kid has it everybody knows everybody's family and you have a lot more social cohesion and so of a switch of what we looked to do during the school one was the part about identity the other is like this idea of developing agency among the children such that they believe they can be effective agents towards thinking and the side on collective efficacy that they can work together to do things and it's the part in the rural areas that we've seen very strong that's often quite destroyed in the urban areas especially where kids may go to school totally across town from where they live and it makes a lot of those issues quite difficult but it's the kind of thing that we're hoping will be rethought like why is it that we group you know if you're in 75 kids with one teacher you know getting a 10% improving per year takes a lot of time before you get to a manageable class size and so we really want different ideas for how do you work with people in places such that we can get very different results thank you very much now we only have time for one more so it was the question down here and then we must close I was just going back to what you were saying about kids learning I mean one of the things you said was making the environment what you study and I can see one of the biggest barriers in the UK and USA and obviously other countries as well our sort of communities is having to produce this force of having to produce results and grades how do you think we can overcome that so because I completely agree with what you say that learning is the most important part but it's having this sort of pressure from government parents and schools to produce things at the end of it and how do you think we could overcome that I suppose being based in the US I have the least right to talk about it because we are some of the worst offenders exactly on that and you know I think what we have to do and especially those of us in the academic community is really to start to change the debate to a different level and in the US in that case we had instances where children would graduate from secondary school couldn't read and write and you say that's unconscionable and you say how does that really happen and so this idea that we should have high standards for all children you say that makes sense and when I look at the standards for mathematics in particular I say those standards make sense where we get lost though is this shift from standards to standardization so you take this kind of idea if you look in the mathematics standards it'll say by such and such an age you should be able to understand place value or these operations or inverse or you know some of things like that and you say okay but then those are kind of things that emerge you get a literacy in text let's say not just by you've accumulated so many vocabulary words but you can express ideas you can think and this literacy emerges it's not taught piece by piece and you know and what we've done in so much of the curriculum is that we have a curriculum that's like it winds up with something that's all trees and no forest right because we focus in on each one of those things but to say we get caught in this debate where it's like if you challenge how we're doing the testing people treat it as though you're saying oh but you know shouldn't we know shouldn't there be competence shouldn't we know that they're doing it how do we know what the teachers are doing etc etc and that's just a losing debate changing the discourse though is somewhat different and one of the best ways to do that is like there had been right before the year 2000 every government produced their educational plan 21st century and in the educational plans for the 20th century there are also very beautiful documents you know children should be critical thinkers they should innovate they should work together understand culture so on and so forth and yet we don't test for almost any of that and what we try to do in order to get some changes that if you say what are the critical things that children really should be developing as they you know have their education most of them are not the things that we test for right so one aspect that we try to do and one of the stories I didn't use my time well to tell is that one of the girls who's of Haitian descent in Boston that worked in one of our programs who had flunked mathematics in the school yet when she was doing work with us at MIT did incredibly good work if you look at her by the tests and by the statistics she's a failure when you look at her by her work and what she was capable of she was really one of the brightest kids we've ever worked with so one is to be able to show very different results through different methodology two is to really challenge is that so much of what we test is actually it's obsolete mathematics right or it's not really critical and we want to really start to challenge what's the mathematics education a child should have in the 21st century without like you know dumbing it down or making a trivial but to really open that as a serious question to look at to get different results but then all the things innovation being able to collaborate being able to do critical thinking you know these are the things that we don't test that we are saying are the most important in the modern age and use that as a way to start to transform what this was we have to be smart about getting public pressure that you know one of my best friends like to say that politics is a trailing indicator right you don't usually get politicians leading towards what's a vision how does it need to be different because it might be just too unpopular or they won't you know in the US you won't get the right funding or whatever that might be it's very intelligent thoughtful people running for high office and they turn into just you know idiots when they talk about you know education and educational policy and what they're going to do because they're afraid to say anything that challenges the status quo so what do we do to do that is we need as the academic community to popularize these ideas to work with parents to get different results with kids that have failed such that we can change this debate for them David thank you very much


DJ Zinl's boyfriend Murda Bongs passes out after falling three meters down the stairs. Mzansi musical group Black Motion member Murda Bongs, real name Bongani Mahosana, has survived a near debilitating injury after he fell on a set of a video recording. Mahosana nearly broke his back after falling three meters down the stairs last week at Shine Studios in Bram Bond time, where he was allegedly shooting an upcoming music show that will air on SABC One. According to an eyewitness, the musician, who is dating DJ Zinl, landed hard on his back and lost consciousness for a few minutes. Fortunately, he did not suffer any serious injuries. According to the source, the crew and some cast members tried to aid Mahosana who could not get up. For a second, I thought he had broken his spine, but when he eventually got up it was a huge relief. They were shooting with DJ Tira and DJ Spitzta among other famous people. He missed a step and came rolling down, said the source. According to another source, Mahosana is currently home resting and taking care of his back. He has seen an orthopedic doctor, and he was told he is lucky, it could have been worse. He was also told to take it easy on stage to avoid straining his back. Mahosana declined to comment, saying he doesn't want to reflect on the incident. Black Motion comprises Mahosana and Thabo Smol Mavicwain. The Afro House duo is among South Africa's most influential artists. In the past decade, they have recorded six studio albums and over 40 singles.


As you've just been hearing, can everybody hear me clearly? X, KSO, in-map, most recently, wing. These are examples of operating system tests, methods to detect what operating system is running on a computer over the internet or on the same LAN from another computer by testing how it looks at the network. Now, that can mean looking at its TCP IP stack or its ICMP implementation. Or maybe it's services, or it's services pattern. There's lots of ways to do that. Up to now, though, you have had to access these things in a tool, such as the X tool, X-Probe 2 tool, or in-map, OK, so, or whatever, or wing, I don't know if any. How many people have looked at wing? Scene ring, OK, cool. So now we're starting with why you should not leave me in the middle of this thing, is I'm going to show you what I've been doing. This is a program that I've written using my library. Now, right now, the library works in C in Java. You're looking at Java because Java's easy to make a GUI in. What you see in the bottom right window is loads of modified versions of the in-map database and the KSO database. Very soon, once I look at X-Probe 2 and look at its database, since it's now on a file, they'll be in there too. It's a list of all the operating systems that you find in those databases. And then over here, you'll find little checkboxes for the tests. So far, in Java, I've implemented the Manga packet tests of in-map fame and of KSO fame. In CI, I've also done the X stuff. Next, it's going to be a T-sequence test and a ring. So let's see if I can get it to work the first time. Earlier, you were mentioning somebody here, was mentioning the fact that X-Probe 1 used a tree, used a SIT1 packet, and then based on a tree that it had in its memory, would send the next packet based on the result for the first packet. And as a result, it would send in total less packets than in-map what or I think any other tests at the time. And as a result, it could limit the number of packets it sent, reducing its IDS profile, reducing increasing speed, all these kind of things. So what if you could do the same thing with in-map? What if you could run in-map one step at a time and then use the results that you've got back since in-map runs? In-map alone has the seven Manga packet tests that you see there and a T-sequence test, which initial sequence numbers, and a four-enreachable UDP test. What if you could use those one at a time? Well, this program right here shows what happens if you do that. If I run the in-map four and the case of two tests, the source board of 10,000, I hope this is open, I hope this is closed. Now, a lot of the values in the test are based on starting sequence number and this allows you to play with that. Now, who? Those suitable devices found. Damn, that's what you get from playing your network cable core.  I'm not gonna play with this too long. The fact that I'm gonna move on now anyways, I'll come back to that. But that's the kind of thing that you can do. I'll just keep that up since I think it's cool. That's the kind of thing you can do when you're able to access the tests in a systematic way. So hopefully now you should be convinced that you might want to hear the rest of the presentation. Then again, easily don't feel free to leave. Especially since I know that some of you who dream and pull could be very upset with the fact that you're not getting pulled though by now. I understand, I feel your pain. Okay, another thing? The TGZ Young, the CD is useless, go to my website. All right, who is this code for? Well, the answer is kind of everybody.  If you were able to detect that you could sort out Windows 2000, version this, rev this with this service running and this version before you ran your tests, what you'd be able to do is have a mini vulnerability test right before you actually ran your exploit, which means that instead of running a system where you scan the host, you forget about operating system, it's running, you forget about what's open, you research what hacks are there, but you can just run a hack and it would stop if it wasn't the right operating system. It would just not run.  You might just want to scan Windows 2000 boxes. Well, by including all a portion of an operating system thing to bring library in your code, you can do that. White hacks. The same reason that Black Hat is interested in what operating system is running on your network, you should be interested in what operating system is running on your network. All abilities are based on operating system and service version. Not all versions of all of this, sometimes it's all PSD, sometimes it's just 3DSD, sometimes it's just Linux, sometimes it's just Linux 2.2. You care because you're gonna be able to get broken into based on what you're running on your network. Now, on the other hand, besides from a security perspective, it would be nice for administrators to know what it's running on the network. So these are just the reasons that you are interested in operating system fingerprinting. As I was talking so deep that he just kind of goes into it and he doesn't realize, I'm sorry, he doesn't talk to why people are enjoying his code. Most of the people who enjoy his code don't actually do bad things with it, I hope. Okay, this is a deep knowledge track about beta code. If you are expecting something you can go and then program in your application tomorrow, again, with a pair of people, sorry. Not gonna happen. Okay, why a library as opposed to a tool? Well, this way you can write things for yourself that are operating system sensitive. Let's say you don't wanna write a app. Maybe you want your webpage to just be displayed for Windows 98.  Maybe you just want to be able to display one administrative homepage for Windows, one for Linux, one for this. And you want that webpage, hopefully we'll be talking about like the Apache module of planning. You want that webpage to be able to say, hey, I'm gonna give you this content based on what you are. That would be a very, very convenient way to hand out patches. You could hand out exactly the patch that needs to be handed out to exactly the person that needs that patch. It means less clicks, which administers of thousands of users left. So let's talk about the problems with tools, the problems with programs right now. There's a bunch of tests, right? Some of them are in that test, some of them are case of test, some of them are Xcode tests, some of them are, you know, ring, some of them are service tests. Well, you have different algorithms that are using these things different ways. Algorithm A by A4 and Fyodor is now using Fuzzy. So it's the most sensitive and advanced algorithm out there. And that just uses it very force. It runs all the tests, all the time. And it can come back with pretty good results usually. So you've got some more advanced algorithms. But at the same time, you want to be able to have more control over your algorithm. If you're programming, say, Nessus, you might want to do different things and test differently than you are if you're doing another scanner. If you're doing a web page princess, you might want to scan another way. If you're on a friendly network and you're responsible for a network and you're scanning it, you definitely don't want to do tests that are going to possibly hang up any operating systems. There are other operating systems, older ones, that will hang up on different versions of in-maps tests. It's just a version of a dog.  This is a bad thing. So you can have polite, you can have stealthy, things that don't get detected. All these algorithms, though, are meta tests. They're above the test level. They're not actually involved with the tests themselves. They're above the test. And these kinds of algorithms have the problems that Hazel was just talking about. He was saying, how do you deal with the results if you're talking about a load balance test? How do you deal with the results if you're talking about this situation? How do you deal with the results in this situation, this situation? All that's dealing with interpreting the results with tests, which is a metal-level algorithm issue. So what I'm trying to do is provide a way for you to get very easy access to the tests themselves so that you can do whatever you want on top with an algorithm. Okay, why not a library? Well, I'm always gonna be playing catch-up. I'm not gonna be able to write new tests.  Maybe someday I'll be able to come up with something new. But in general, people like Hazel, Fyodor, Fyodor, these are the people who are gonna be writing the new tests. They're gonna be coming up with new code. They're gonna be coming up with new algorithms. They're gonna be doing the new crew stuff. What's in the library is gonna be the yesterday old stuff, but just in a way that you can access. Right, and this is not gonna be a tool. Like, I'm never gonna hand out something that's gonna be particularly useful to you right now.  Okay, let's talk about a little bit about the background of operating system fingerprinting. The first grandfather of all fingerprinting is Caso. How many people have used a horn of Caso? And when you like Caso, okay. Less. That's first generation. Why was it first generation? It was the first operating system fingerprinting code, and I'll talk about this in a later, to pull the database outside of the program itself, so that the database of fingerprints and the logic to fingerprint them were separate. We have to that, we have the passive side, PLF side, and stuff that's looking at traffic doing fingerprinting. Right now, I'm not implementing these tests and these are probably the last tests that I use. And the reason is that they're not particularly useful for administrators. If you're interested in doing passive fingerprinting, usually you're going to be a person who's interested in not being seen. The other case is when you're interested in seeing what traffic is going out of your network. In that case, I think the fingerprinting passive fingerprinting stuff that's gonna become available at Snort is gonna be far better than what I could do real quick, so I'm gonna focus on the left side of the map here. So we have in-map. In-map is the seminal operating system fingerprinting. And the reason is, is it's the first to treat as a real science. Fido used a statistical test, he used mangle packet tests, he used UDP tests. That's a pretty broad spectrum of ways to guess at operating systems to use a test. And the other thing that he did that's very significant is that he tested lots and lots and lots of operating systems. If you've got open VSD running on a little Macintosh like they had last year here, you might be able to get in-maps to pick it up. You never know what's gonna be in the database though, and that's a complaint that people like A4 have been pointing out, because that database is so huge that it really is becoming unmanageable and kind of useless, like what he was talking about for the printers. I mean, it's very difficult when you've got 20 signatures, 10 signatures for HP printers, and they all come up. That's just not useful. Okay, second generation is X. X was the first test to use to not send all the packets at once. It made decisions based on previous tests about what tests to do next. The problem with that is it was static. That means that the tree was hard-coded. So you had the tests, and then you had the tree, but just like the early versions of the thing you're putting software had both tests and algorithm inside the code, the tree and the tests both need to be outside the code. So the algorithm for choosing what tests to do when and the tests themselves need to be configurable. So that makes it a second generation. Now third generation is like third too, which I didn't know a whole lot about until today. So that code is addressing a lot of the problems with X, which is making it the most advanced fingerprinting. Now once he does all the things that he's planning to do, it will probably be cramming the crop. It will be the tool you want to use, because it'll probably incorporate a lot of the tests that in-map is using, the T-sequence test, these kinds of things. Hopefully what I'll be able to do is look at the API, the one that he was just describing, and use my library to code tests for his API, which means the fact that I have finished the KISO and in-map tests and made them separate and pulled them out and done all that work, will mean that he's kind of handed that out of a silver platter, but we haven't talked about it, so that's up in the air. Okay, the other thing is the wing. Now the one new thing about T-sequence tests and in-map was that it was totally normal traffic. What it did is it sent, send packet, send packet. How many people understand the TCP handshake? If you don't understand the TCP handshake, what I'm gonna say right now is going to be just like gobbledoom, they're gobbledoom since it's a gobbledoom, right? So just forget it if you don't understand that. You send the send packet with a sequence number, it's gonna respond back with a SINAC with a certain value in its packet that corresponds in some way to the value that you sent. Now by doing that over and over and over again, you can get a statistical relationship between what you've sent and what you get back. So you can find out if they're generating the sequence numbers to ones that come in response randomly or they're adding something to your sequence number. Very common is to add 100 bytes or add the value of 800 or some other constant. But there's no way to detect that. That was simply a firewall. So long as you've got a website running, that said, all firewalls, you'll be able to get that test through. So the T-sequence test is unique because it's extremely stealthy. It uses normal traffic. It's not doing anything illegal at all. If you stop T-sequence test, you stop your web server. That's the only way to stop that test. It's normal TCB traffic. Now the other thing that's normal TCB traffic is a wing.  Like it's supposed to be you talk, I talk, you talk, I talk, okay, we're talking. That kind of thing. Well, I said I go, I talk and they go, we talk and then you go. And then you say, they're gonna say, we talk, we talk, we talk. And the periods between the we talks is something that's constant for T-C-V-I-B stack implementation, which means you can test for it, which means you can determine which operating system is running. Now what's the significant thing about that? It's very much like it, FIDOL is FIDOL M-MAP, FIDOL M-MAP's TCB test in that it uses totally normal traffic. It's not something you can detect with an IDS system. It's the same from an IDS perspective as someone unplugging their Ethernet cord or a host scoring down. The number of false positives you get by writing an IDS signature for that kind of a test would be phenomenal. So both the T-Sequence test and the Ring test represent methods for getting an operating system in a very stealthy way. We'll talk about case again. If you want to know that case, so read FIDOL's paper. In fact, if you want to know about operating system fingerprinting, read FIDOL or M-MAP FIDOL's paper. That's the seminal work in the field. It's the first real scientific look at it. Now if you really want to know about operating system, then read Ather's X paper. It's that thick and you'll know a lot more. But if you want to start out, if you want to review these concepts, FIDOL's paper is a great place to start. M-MAP, exactly what I just said. It's a robust database, really big, and it's the first to be really scientific and really systematic about the way you think of things. X. For a seasoned intelligence, it's all signed P, but it's got a hard-coded algorithm for determining what trade is. Ring, we just talked about it. X2, you know, as much as me. All of a sudden you said, that's what X2 is. Can everybody hear me still? Yeah. Cool. Okay, let's talk about the structure of my library. All the tests right now are actually written in C. The reason that that's the case is that C has the best and most documented method for accessing law icon sockets. Most of the tests, many of the tests, involve writing packets in very specific and non-usual ways. So you need to have access to that law, those law libraries. The other thing is that I use LibNet, the beta version, because it's cool and does things for me that I don't have to sort things out because I use it. Okay, it's got a lot of functionality, it's really cool. So that's in C2. The other thing is that actually running the tests is irrelevant. People don't even have that information from somewhere. So the easiest way to write the tests in C, so that's how I do it. Okay, C applications, Java applications, C++ applications across the top there. And then beneath those, you have the C library and Java library, C++ library and Pro library. The Java library is the one that's most robust, obviously because that's the one that I just showed you. So right now I'm going for implementing X, KSEL, in-map and weighing and all these different tests and having them move up in between these different programming languages. So wouldn't it be cool if you could write a Perl script that says if Windows do this or if some function returns as Windows do this or if some function returns as Windows 2000, you do this. This would be a good thing. The other thing with Perl, and this is something that actually I'd love to get this functionality from Perl into other languages once I get done, is you can take a look at Rainforest Puppy's libwisker. Libwisker is capable of doing very, very accurate fingerprinting of the web port. It can sort out what server, what web server is running on a particular computer. I was doing it pentastritionally and they were using it at a free BSD, it was a product, it was based on a free BSD and they were using it to proxy an NT2000 web server. Well, when Risco first went into it and said, oh it's reporting back and saying it's Windows 2000. So that's what it is initially. And then it runs a bunch of other tests and finds that the actual behavior of the server is more like free BSD. So it comes back and says actually, no, this is Apache. This is Apache. It looked like Windows 2000 at the beginning but it's really Apache. Wouldn't it be neat if you could get the, this isn't what the web server really is from libwisker and move it over and make decisions based on that and other programming languages. So you could say, because Apache, for instance, runs on Windows 2000. Rarely do people do that. But it does, it runs. So you can get that legitimate header back from that web server. And then if you're running IIS hacks against that box. So being able to say, for instance, run a T-sequence test against port 80. Get a sequence number, run a wing test against port 80. Those are both totally stealthy. And then just ask what do a service test to find out what web server's running. You'd be able to think of a host with absolutely no IDS detectable stuff. All that stuff is totally legitimate traffic. And it would tell you a lot of information. So every language here has different advantages. The reason I did Java first is because most of what I wanna focus on is how OOP, an object-oriented programming really affects the thing you're putting science in. Java is very easy to get threads in and out of Java. So I started there and I'll use what I've learned there to do the elements. So we kinda understand what I'm talking about here. Have I lost everyone? Have I not lost everyone? Okay, okay, right now for my .c files, each test is written as a listen function and as a send function. Now, for instance, the sending portion of in that T1 through T7 are very different. But the fingerprinting portion are all identical. So you can collapse the listening file on the one. So basically, from a C perspective, it's functional programming. By using my C library, you should be able to just call functions with the white stuff and run whatever test you want. Let's take a look at the C code. Talk amongst two sides. Okay. As you'll be seeing in a moment, all my code is released in, now, you know, that's it. Okay, it's back on. Can you hear me now? So you have a function call. It takes a source IP, destination IP, source port, destination port, and initial sequence number. Now, in C++ or Java, what you can do is overload these functions so that you don't actually have to give it a sequence number. You're gonna have to give it a source port number. Basically, the source port in the in-map, meta-level algorithm is chosen for you. It's just randomly. But you don't have to do it that way. If you want to, you can configure just about everything. On the other hand, the overloaded functions will allow you to run it the same way that in-map does. So if you just wanna have a destination IP, assuming you're using your own IP so you don't need a source IP, assuming that you're gonna generate a source port randomly so you don't need a source port and you need a destination port. You don't need a sequence number because you're gonna choose that randomly. Then that function will just have destination port, destination IP. You need to build the options. In-map TCP tests use crazy options. It's one of the IDS signatures of the tests. Anytime you see this particular set of options all together in one case, in a packet, it's usually an in-map test. Then you set up the build TCP port of it, portion of it, I don't know how many of you are familiar with that. And you use the SIN port and the bogus port here. There are so many flags in that a TCP packet can have. There is one that is not defined, that's a bogus. In-map sets that flag. Most TCP IP implementations have no idea what to do with it. So they can, they'll respond back. Sometimes an operating system will read, it will take the packet that it's reading in, change it into the response. Which means they don't actually write a new packet. If they do that, then the bogus flag in the packet that comes back will also be set. So depending on how you implement it, the results are different. You make enough space in the IP and then you send the test. All right, moving back to my PowerPoint, talk amongst yourselves. Okay, here is something that I would actually like some feedback from people at this conference about. And the question is, how do you classify an operating system? For instance, the way I'm doing it right now is with a less family name, major version, minor version, other information, and architecture. I know for a fact that this is not a good way to do it. And the reason is, is think about how many BSD variants there are. If you have a family and you want to be able to write a test that's for all BSD or you want to be able to write an exploit that's for all BSD boxes. If you're doing that, you want to say if the family name, if this top level group is BSD, then run the test. If not, then don't run the test or the exploit. Okay, if you do that, then what goes in major versions? Since that's the next step down would be free BSD. And then under that would be four point something. Well, the problem is it just doesn't split up very well. Like for instance, Windows. Windows is a family name, then you have 98 and all of the other things. So when you're using Windows and the major version is 98, that's comparable to the entire operating system of free BSD probably shouldn't be. So how do you classify an operating system? How do you group them? That's a difficult question and it really takes some knowledge of operating system history of which I unfortunately know only a lot of part. So I'd like some discussion perhaps if you'd like to come talk to me about this afterwards, please do. But every class JLS test, which every test is a subclass of has this information in it. Not only that, it has, again, if you don't know Java, then this is gonna sound irrelevant to you, so just ignore it. I've redone the equivalency stuff so that it does the equivalency in such a way that it won't order any given set of these operating systems by their actual classification. So we're gonna take OS family name into account first, then major version, then minor version, then something like this, so that you can do, you can use the actual Java compare to function and it'll actually return a negative or positive number based on the relationship between two operating systems, which means you can, you can, for a given operating system, you can run tests based on less or more stuff. If you know Java, then perhaps you know what I mean. If not, perhaps you know what I mean. Okay, okay, threading. Operating system fingerprinting should be threaded. And the reason is, is that there are some tests that are related to each other, for instance, that tree that X did, but there are other tests that are totally irrelevant. So you could be running the X tree, all of IC and P tests, at the same time, you're running in-map tests, at the same time, you're running service tests, and then the whole time, you could be using, race, condition, safe data objects to move information about what tests should be run. So if you can have, basically what this allows you to do is write testing algorithms that will turn on its head based on the results of one test. It means that you can write dynamic trees. So you can say, well, let's start running these four tests and then get those four tests back and then as a result run totally different other set of tests. And the reason that's important is that one of the problems with in-maps fingerprinting and just vulnerability assessment in general is that it tends to be slow. It takes a long time to do this. So if you can do stuff in parallel, if you can get information in different directions at the same time, that gives you a huge advantage. Okay, you've already looked at the code. Let's see. Pro module and C++ module will happen someday. If you're a pro guy and you love writing modules that access C libraries and move like large amounts of data back and forth, please come talk to me. I'd love to have your help. C++, I think I'll be able to handle just because it's easy. Okay, what's the future of my fingerprinting library? Well, obviously it's to implement all the tests. Like when you're able to access all the tests in my library in one place, even if that's all I give you, that means that it's an easy place for you to start, assuming you want to write operating system fingerprinting code. The other thing is service fingerprinting. There's a program called WinFingerprint that does nothing but fingerprint. All those dangerous, turn them off please, 130X Windows ports that you should never be using ever. So you can run an entire sequence of service testing on a fingerprint, what net bios, what SMB, all those things, what they're doing, what they mean. The stuff that they can return, I haven't looked at the code carefully, looks like it's pretty impressive, very much like the Whiskers HTTP ability. And as a result, if you can get that service information, then what you can do is you can have associations between service generations like send mail version this, goes with Solaris version this and IIS version this goes with Windows version this. Like some of these things you happen off the top of your head. Some of them on the other hand are a little more complicated. But since vulnerabilities are based on service member and operating system member, it would be nice to be able to use service to get operating system member guesses and use operating system guesses to get service member guesses. So hopefully we'll be developing a database about what services go with what operating systems. I'm sure somebody's done that. So it wouldn't be hard. The other thing is what you can get if you have all of this stuff is a CDE database, kind of a Nessus light. Nessus actually tests to figure out whether or not you're vulnerable. What if you don't care? What if you really care if you're vulnerable or not? What if you're running a version of Windows blah blah blah or a FreeBSD blah blah blah that's vulnerable to five things. Maybe all you care about is that you need to upgrade the next version. Maybe you're on FreeBSD 4.0 and you need to be on 4.1.  If that's all you care about and you're an administrator, you don't need to have a full-blown vulnerability test to make sure you are, in fact, vulnerable to something. All you need to know is not current version, please batch. That's it. So if you can be very aware of operating system fingerprints and service fingerprints, you get a very, very cheap, very, very fast vulnerability scanner. The other thing is to develop a simple scanner. Something that does, I don't know, a core of what in-map does. I don't know if you guys have looked at in-map three. It's up on insecure.award. You definitely ought to go take a look. The Windows versions of in-map and the Linux versions are merged. It's pretty cool. But that's, I definitely don't want to write stuff that competes with these tools that are out there because they're so good that it's very unlikely that I'll be able to generate something that's going to be able to keep pace with those technological developments. Rather, I prefer to kind of imitate what they did last week. I think the coolest thing would be a little less Apache module so that you could give different information to different web, to different users based on their operating system.  You associate, you put the patch up on a web server and you say, if FreeBSD version missed, show this page. And then you write into your proxy for your web surfing that they have to go to the patch version update page first. But that means that you scan your network for all the vulnerable things. You put the patches that they need up on the website and then those servers or work stations that are vulnerable will automatically be forced to go down on the patches before they can continue surfing. I might not install the patches, but at least they downloaded and that's a start. You cannot lead, you cannot make a whole string. Okay, that's everything. Thank you and do you have any questions? Yes, oh, and actually I'm gonna have to do microphone switching since nobody can hear. So if you'll just come up. Oh, I'm sorry, that's a very good question. And it's on the HTML documentation that's inside the CDE. It's www.sinsear.net. S-Y-N-S-E-E-R, good point. Next question, next question. Can't hear a word you're saying. That would be a good idea. Yes, but yes, T-C-L and I said yes. Anybody else? Okay, I officially am relinquishing the microphone. Please feel free to come up and do the 101 questions if you feel like it, bye bye now.